What's cooking (2015/05 #07)
[alt-git.git] / whats-cooking.txt
blobbaaea301a30f61b97cabcee5fd7ae87bc2f6bba1
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (May 2015, #07; Tue, 26)
4 X-master-at: fae46aa0ae5318bbb20f0ef871721bf49e292cea
5 X-next-at: 37f085bb52bb507d786c36ae50951e460f4f15c7
7 What's cooking in git.git (May 2015, #07; Tue, 26)
8 --------------------------------------------------
10 Here are the topics that have been cooking.  Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
14 The "untracked cache" series is in 'master' now.  I do not use it
15 personally, but it is meant to make life easier for those with large
16 amount of untracked cruft in their working trees.  Please try it out
17 and report successes (and of course breakages, too).
19 You can find the changes described here in the integration branches
20 of the repositories listed at
22     http://git-blame.blogspot.com/p/git-public-repositories.html
24 --------------------------------------------------
25 [Graduated to "master"]
27 * jk/rerere-forget-check-enabled (2015-05-14) 1 commit
28   (merged to 'next' on 2015-05-19 at bfe67dc)
29  + rerere: exit silently on "forget" when rerere is disabled
31  "git rerere forget" in a repository without rerere enabled gave a
32  cryptic error message; it should be a silent no-op instead.
35 * nd/untracked-cache (2015-03-12) 24 commits
36   (merged to 'next' on 2015-05-19 at 26e619b)
37  + git-status.txt: advertisement for untracked cache
38  + untracked cache: guard and disable on system changes
39  + mingw32: add uname()
40  + t7063: tests for untracked cache
41  + update-index: test the system before enabling untracked cache
42  + update-index: manually enable or disable untracked cache
43  + status: enable untracked cache
44  + untracked-cache: temporarily disable with $GIT_DISABLE_UNTRACKED_CACHE
45  + untracked cache: mark index dirty if untracked cache is updated
46  + untracked cache: print stats with $GIT_TRACE_UNTRACKED_STATS
47  + untracked cache: avoid racy timestamps
48  + read-cache.c: split racy stat test to a separate function
49  + untracked cache: invalidate at index addition or removal
50  + untracked cache: load from UNTR index extension
51  + untracked cache: save to an index extension
52  + ewah: add convenient wrapper ewah_serialize_strbuf()
53  + untracked cache: don't open non-existent .gitignore
54  + untracked cache: mark what dirs should be recursed/saved
55  + untracked cache: record/validate dir mtime and reuse cached output
56  + untracked cache: make a wrapper around {open,read,close}dir()
57  + untracked cache: invalidate dirs recursively if .gitignore changes
58  + untracked cache: initial untracked cache validation
59  + untracked cache: record .gitignore information and dir hierarchy
60  + dir.c: optionally compute sha-1 of a .gitignore file
62  Teach the index to optionally remember already seen untracked files
63  to speed up "git status" in a working tree with tons of cruft.
66 * pt/pull-ff-vs-merge-ff (2015-05-18) 2 commits
67   (merged to 'next' on 2015-05-20 at 064a082)
68  + pull: parse pull.ff as a bool or string
69  + pull: make pull.ff=true override merge.ff
71  The pull.ff configuration was supposed to override the merge.ff
72  configuration, but it didn't.
75 * pt/pull-log-n (2015-05-18) 1 commit
76   (merged to 'next' on 2015-05-20 at db6ce78)
77  + pull: handle --log=<n>
79  "git pull --log" and "git pull --no-log" worked as expected, but
80  "git pull --log=20" did not.
83 * rs/plug-leak-in-pack-bitmaps (2015-05-19) 1 commit
84   (merged to 'next' on 2015-05-20 at b70f647)
85  + pack-bitmaps: plug memory leak, fix allocation size for recent_bitmaps
87  The code to read pack-bitmap wanted to allocate a few hundred
88  pointers to a structure, but by mistake allocated and leaked memory
89  enough to hold that many actual structures.  Correct the allocation
90  size and also have it on stack, as it is small enough.
92 --------------------------------------------------
93 [New Topics]
95 * ah/send-email-sendmail-alias (2015-05-25) 2 commits
96  - t9001: write $HOME/, not ~/, to help shells without tilde expansion
97  - send-email: add sendmail email aliases format
99  "git send-email" learned the alias file format used by the sendmail
100  program (in an abbreviated form).
102  Reroll coming?  What's queued is good enough?
105 * bc/object-id (2015-05-25) 56 commits
106   (merged to 'next' on 2015-05-26 at 8d9f645)
107  + struct ref_lock: convert old_sha1 member to object_id
108  + warn_if_dangling_symref(): convert local variable "junk" to object_id
109  + each_ref_fn_adapter(): remove adapter
110  + rev_list_insert_ref(): remove unneeded arguments
111  + rev_list_insert_ref_oid(): new function, taking an object_oid
112  + mark_complete(): remove unneeded arguments
113  + mark_complete_oid(): new function, taking an object_oid
114  + clear_marks(): rewrite to take an object_id argument
115  + mark_complete(): rewrite to take an object_id argument
116  + send_ref(): convert local variable "peeled" to object_id
117  + upload-pack: rewrite functions to take object_id arguments
118  + find_symref(): convert local variable "unused" to object_id
119  + find_symref(): rewrite to take an object_id argument
120  + write_one_ref(): rewrite to take an object_id argument
121  + write_refs_to_temp_dir(): convert local variable sha1 to object_id
122  + submodule: rewrite to take an object_id argument
123  + shallow: rewrite functions to take object_id arguments
124  + handle_one_ref(): rewrite to take an object_id argument
125  + add_info_ref(): rewrite to take an object_id argument
126  + handle_one_reflog(): rewrite to take an object_id argument
127  + register_replace_ref(): rewrite to take an object_id argument
128  + remote: rewrite functions to take object_id arguments
129  + add_one_ref(): rewrite to take an object_id argument
130  + string_list_add_one_ref(): rewrite to take an object_id argument
131  + add_ref_decoration(): convert local variable original_sha1 to object_id
132  + add_ref_decoration(): rewrite to take an object_id argument
133  + show_head_ref(): convert local variable "unused" to object_id
134  + http-backend: rewrite to take an object_id argument
135  + append_similar_ref(): rewrite to take an object_id argument
136  + builtin/show-ref: rewrite to take an object_id argument
137  + show_ref(): convert local variable peeled to object_id
138  + builtin/show-ref: rewrite to use object_id
139  + fsck: change functions to use object_id
140  + cmd_show_branch(): fix error message
141  + builtin/show-branch: rewrite functions to work with object_id
142  + append_one_rev(): rewrite to work with object_id
143  + builtin/show-branch: rewrite functions to take object_id arguments
144  + append_matching_ref(): rewrite to take an object_id argument
145  + show_reference(): rewrite to take an object_id argument
146  + builtin/remote: rewrite functions to take object_id arguments
147  + add_branch_for_removal(): don't set "util" field of string_list entries
148  + add_branch_for_removal(): rewrite to take an object_id argument
149  + builtin/reflog: rewrite ref functions to take an object_id argument
150  + show_ref_cb(): rewrite to take an object_id argument
151  + builtin/pack-objects: rewrite to take an object_id argument
152  + name_ref(): rewrite to take an object_id argument
153  + grab_single_ref(): rewrite to take an object_id argument
154  + builtin/fetch: rewrite to take an object_id argument
155  + get_name(): rewrite to take an object_id argument
156  + add_pending_uninteresting_ref(): rewrite to take an object_id argument
157  + append_ref(): rewrite to take an object_id argument
158  + register_ref(): rewrite to take an object_id argument
159  + handle_one_ref(): rewrite to take an object_id argument
160  + builtin/rev-parse: rewrite to take an object_id argument
161  + each_ref_fn: change to take an object_id parameter
162  + refs: convert struct ref_entry to use struct object_id
164  for_each_ref() callback functions were taught to name the objects
165  not with "unsigned char sha1[20]" but with "struct object_id".
167  Will merge to 'master'.
170 * jc/diff-ws-check-deleted (2015-05-26) 4 commits
171  - diff.c: --ws-check-deleted option
172  - diff.c: add emit_del_line() and update callers of emit_line_0()
173  - t4015: separate common setup and per-test expectation
174  - t4015: modernise style
176  Allow whitespace breakages in 'deleted' lines to be also painted
177  in the output.
179 --------------------------------------------------
180 [Stalled]
182 * kk/log-merges-config (2015-04-21) 5 commits
183  - bash-completion: add support for git-log --merges= and log.merges
184  - t4202-log: add tests for --merges=
185  - Documentation: add git-log --merges= option and log.merges config. var
186  - log: honor log.merges= option
187  - revision: add --merges={show|only|hide} option
189  "git log" (but not other commands in the "log" family) learned to
190  pay attention to the log.merges configuration variable that can be
191  set to "show" (the normal behaviour), "only" (hide non-merge
192  commits), or "hide" (hide merge commits).  --merges=(show|only|hide)
193  can be used to override the setting from the command line.
195  The documentation may need to be updated once more ($gmane/267250).
196  Waiting for a reroll.
199 * mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
200  - t/lib-git-svn: check same httpd module dirs as lib-httpd
201  - t/lib-httpd: load mod_unixd
203  This is the first two commits in a three-patch series $gmane/266962
204  Will be rerolled.
205  with updated log message ($gmane/268061).
208 * mh/numparse (2015-03-19) 14 commits
209  - diff_opt_parse(): use convert_i() when handling --abbrev=<num>
210  - diff_opt_parse(): use convert_i() when handling "-l<num>"
211  - opt_arg(): simplify pointer handling
212  - opt_arg(): report errors parsing option values
213  - opt_arg(): use convert_i() in implementation
214  - opt_arg(): val is always non-NULL
215  - builtin_diff(): detect errors when parsing --unified argument
216  - handle_revision_opt(): use convert_ui() when handling "--abbrev="
217  - strtoul_ui(), strtol_i(): remove functions
218  - handle_revision_opt(): use convert_i() when handling "-<digit>"
219  - handle_revision_opt(): use skip_prefix() in many places
220  - write_subdirectory(): use convert_ui() for parsing mode
221  - cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
222  - numparse: new module for parsing integral numbers
224  Many codepaths use unchecked use of strtol() and friends (or even
225  worse, atoi()).  Introduce a set of wrappers that try to be more
226  careful.
228  Will be rerolled.
229  ($gmane/268058).
232 * tf/gitweb-project-listing (2015-03-19) 5 commits
233  - gitweb: make category headings into links when they are directories
234  - gitweb: optionally set project category from its pathname
235  - gitweb: add a link under the search box to clear a project filter
236  - gitweb: if the PATH_INFO is incomplete, use it as a project_filter
237  - gitweb: fix typo in man page
239  Update gitweb to make it more pleasant to deal with a hierarchical
240  forest of repositories.
242  Any comments from those who use or have their own code in Gitweb?
245 * jc/a-lone-dash-stands-for-previous-branch (2015-03-16) 1 commit
246  - "-" and "@{-1}" on various programs
248  Lose special case code to make a lone dash "-" mean the previous
249  branch aka "@{-1}" from a handful subcommands, and instead support
250  the notation throughout the system by reimplementing it at the
251  revisions layer.
253  Needs tests, documentation updates, etc.  Also does only a half-way
254  job dealing with range notation, which needs to be fixed before the
255  series goes anywhere.
258 * nd/list-files (2015-02-09) 21 commits
259  - t3080: tests for git-list-files
260  - list-files: -M aka diff-cached
261  - list-files -F: show submodules with the new indicator '&'
262  - list-files: add -F/--classify
263  - list-files: show directories as well as files
264  - list-files: do not show duplicate cached entries
265  - list-files: sort output and remove duplicates
266  - list-files: add -t back
267  - list-files: add -1 short for --no-column
268  - list-files: add -R/--recursive short for --max-depth=-1
269  - list-files: -u does not imply showing stages
270  - list-files: make alias 'ls' default to 'list-files'
271  - list-files: a user friendly version of ls-files and more
272  - ls-files: support --max-depth
273  - ls-files: add --column
274  - ls-files: add --color to highlight file names
275  - ls-files: buffer full item in strbuf before printing
276  - ls_colors.c: highlight submodules like directories
277  - ls_colors.c: add a function to color a file name
278  - ls_colors.c: parse color.ls.* from config file
279  - ls_colors.c: add $LS_COLORS parsing code
281  A new "git list-files" Porcelain command, "ls-files" with bells and
282  whistles.
284  Reroll to base on wt-status work ($gmane/265142) has seen some
285  positive discussions.
287  Waiting for a further polished reroll ($gmane/265534).
290 * js/fsck-opt (2015-01-21) 19 commits
291  - fsck: support ignoring objects in `git fsck` via fsck.skiplist
292  - fsck: git receive-pack: support excluding objects from fsck'ing
293  - fsck: introduce `git fsck --quick`
294  - fsck: support demoting errors to warnings
295  - fsck: document the new receive.fsck.* options
296  - fsck: allow upgrading fsck warnings to errors
297  - fsck: optionally ignore specific fsck issues completely
298  - fsck: disallow demoting grave fsck errors to warnings
299  - fsck: add a simple test for receive.fsck.*
300  - fsck: make fsck_tag() warn-friendly
301  - fsck: handle multiple authors in commits specially
302  - fsck: make fsck_commit() warn-friendly
303  - fsck: make fsck_ident() warn-friendly
304  - fsck: report the ID of the error/warning
305  - fsck: allow demoting errors to warnings via receive.fsck.warn = <key>
306  - fsck: offer a function to demote fsck errors to warnings
307  - fsck: provide a function to parse fsck message IDs
308  - fsck: introduce identifiers for fsck messages
309  - fsck: introduce fsck options
311  "fsck.warnings = <list of error tokens>" I suggested turned out to
312  be an unpopular choice (sorry Dscho).
314  Expecting a reroll.
317 * nd/pathspec-strip-fix (2015-04-18) 1 commit
318  - pathspec: adjust prefixlen after striping trailing slash
320  Does not quite fix ($gmane/267614).
321  Will discard.
324 * jc/diff-b-m (2015-02-23) 5 commits
325  . WIPWIP
326  . WIP: diff-b-m
327  - diffcore-rename: allow easier debugging
328  - diffcore-rename.c: add locate_rename_src()
329  - diffcore-break: allow debugging
331  "git diff -B -M" produced incorrect patch when the postimage of a
332  completely rewritten file is similar to the preimage of a removed
333  file; such a resulting file must not be expressed as a rename from
334  other place.
336  The fix in this patch is broken, unfortunately.
339 * pw/remote-set-url-fetch (2014-11-26) 1 commit
340  - remote: add --fetch and --both options to set-url
342  Expecting a reroll.
345 * tr/remerge-diff (2014-11-10) 9 commits
346  - t4213: avoid "|" in sed regexp
347  - log --remerge-diff: show what the conflict resolution changed
348  - name-hash: allow dir hashing even when !ignore_case
349  - merge-recursive: allow storing conflict hunks in index
350  - merge_diff_mode: fold all merge diff variants into an enum
351  - combine-diff: do not pass revs->dense_combined_merges redundantly
352  - merge-recursive: -Xindex-only to leave worktree unchanged
353  - merge-recursive: internal flag to avoid touching the worktree
354  - merge-recursive: remove dead conditional in update_stages()
356  "log -p" output learns a new way to let users inspect a merge
357  commit by showing the differences between the automerged result
358  with conflicts the person who recorded the merge would have seen
359  and the final conflict resolution that was recorded in the merge.
361  Waiting for a reroll ($gmane/256591).
364 * hv/submodule-config (2014-11-11) 4 commits
365  - do not die on error of parsing fetchrecursesubmodules option
366  - use new config API for worktree configurations of submodules
367  - extract functions for submodule config set and lookup
368  - implement submodule config cache for lookup of submodule names
370  Kicked back to 'pu' per request ($gmane/255610).
373 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
374  - perf-lib: add test_perf_cleanup target
375  - perf-lib: split starting the test from the execution
377  Add test_perf_cleanup shell function to the perf suite, that allows
378  the script writers to define a test with a clean-up action.
380  Will hold.
383 * jc/show-branch (2014-03-24) 5 commits
384  - show-branch: use commit slab to represent bitflags of arbitrary width
385  - show-branch.c: remove "all_mask"
386  - show-branch.c: abstract out "flags" operation
387  - show-branch.c: lift all_mask/all_revs to a global static
388  - show-branch.c: update comment style
390  Waiting for the final step to lift the hard-limit.
392 --------------------------------------------------
393 [Cooking]
395 * da/mergetool-winmerge (2015-05-20) 2 commits
396   (merged to 'next' on 2015-05-26 at d6333e9)
397  + mergetools: add winmerge as a builtin tool
398  + mergetool--lib: set IFS for difftool and mergetool
400  "git mergetool" learned to drive WinMerge as a backend.
402  Will merge to 'master'.
405 * jk/http-backend-deadlock-2.2 (2015-05-25) 3 commits
406  + http-backend: spool ref negotiation requests to buffer
407  + t5551: factor out tag creation
408  + http-backend: fix die recursion with custom handler
409  (this branch is used by jk/http-backend-deadlock and jk/http-backend-deadlock-2.3.)
411  Communication between the HTTP server and http_backend process can
412  lead to a dead-lock when relaying a large ref negotiation request.
413  Diagnose the situation better, and mitigate it by reading such a
414  request first into core (to a reasonable limit).
416  This was wiggled back to apply to the 2.2 maintenance track
417  (original was for 2.4).
419  Will merge to 'master'.
422 * jk/http-backend-deadlock-2.3 (2015-05-25) 1 commit
423  + Merge branch 'jk/http-backend-deadlock-2.2' into jk/http-backend-deadlock-2.3
424  (this branch is used by jk/http-backend-deadlock; uses jk/http-backend-deadlock-2.2.)
426  Same for 2.3 maintenance track.
428  Will merge to 'master'.
431 * jk/stash-options (2015-05-20) 2 commits
432   (merged to 'next' on 2015-05-26 at 5dcb026)
433  + stash: recognize "--help" for subcommands
434  + stash: complain about unknown flags
436  Make "git stash something --help" error out, so that users can
437  safely say "git stash drop --help".
439  Will merge to 'master'.
442 * mc/commit-doc-grammofix (2015-05-19) 1 commit
443   (merged to 'next' on 2015-05-26 at 9d76e3b)
444  + Documentation/git-commit: grammofix
446  Will merge to 'master'.
449 * rs/janitorial (2015-05-20) 3 commits
450   (merged to 'next' on 2015-05-26 at 9d5aee4)
451  + dir: remove unused variable sb
452  + clean: remove unused variable buf
453  + use file_exists() to check if a file exists in the worktree
455  Will merge to 'master'.
458 * fm/fetch-raw-sha1 (2015-05-22) 3 commits
459   (merged to 'next' on 2015-05-26 at dc3f1b3)
460  + upload-pack: optionally allow fetching reachable sha1
461  + upload-pack: prepare to extend allow-tip-sha1-in-want
462  + config.txt: clarify allowTipSHA1InWant with camelCase
464  "git upload-pack" that serves "git fetch" can be told to serve
465  commits that are not at the tip of any ref as long as they are
466  reachable from a ref with uploadpack.allowReachableSHA1InWant
467  configuration variable.
469  Will merge to 'master'.
472 * jc/commit-slab (2015-05-22) 1 commit
473  - commit-slab: introduce slabname##_peek() function
475  Memory use reduction when commit-slab facility is used to annotate
476  sparsely (which is not recommended in the first place).
479 * mm/rebase-i-post-rewrite-exec (2015-05-22) 3 commits
480   (merged to 'next' on 2015-05-26 at 8ddaab1)
481  + t5407: use <<- to align the expected output
482  + rebase -i: fix post-rewrite hook with failed exec command
483  + rebase -i: demonstrate incorrect behavior of post-rewrite
485  "git rebase -i" fired post-rewrite hook when it shouldn't (namely,
486  when it was told to stop sequencing with 'exec' insn).
488  Will merge to 'master'.
491 * sb/submodule-doc-intro (2015-05-22) 1 commit
492  - submodule documentation: reorder introductory paragraphs
494  What's the doneness of this one???
497 * sb/test-bitmap-free-at-end (2015-05-22) 1 commit
498   (merged to 'next' on 2015-05-26 at 1014ebf)
499  + test_bitmap_walk: free bitmap with bitmap_free
501  Will merge to 'master'.
504 * dt/cat-file-follow-symlinks (2015-05-20) 3 commits
505   (merged to 'next' on 2015-05-26 at 7ae52d4)
506  + cat-file: add --follow-symlinks to --batch
507  + sha1_name: get_sha1_with_context learns to follow symlinks
508  + tree-walk: learn get_tree_entry_follow_symlinks
510  "git cat-file --batch(-check)" learned the "--follow-symlinks"
511  option that follows an in-tree symbolic links when asked about an
512  object via extended SHA-1 syntax, e.g. HEAD:RelNotes that points at
513  Documentation/RelNotes/2.5.0.txt.  With the new option, the command
514  behaves as if HEAD:Documentation/RelNotes/2.5.0.txt was given as
515  input instead.
517  Will merge to 'master'.
520 * dt/clean-pathspec-filter-then-lstat (2015-05-18) 1 commit
521   (merged to 'next' on 2015-05-26 at 9b24d71)
522  + clean: only lstat files in pathspec
524  "git clean pathspec..." tried to lstat(2) and complain even for
525  paths outside the given pathspec.
527  Will merge to 'master'.
530 * jh/filter-empty-contents (2015-05-18) 1 commit
531   (merged to 'next' on 2015-05-26 at 9cad398)
532  + sha1_file: pass empty buffer to index empty file
534  The clean/smudge interface did not work well when filtering an
535  empty contents (failed and then passed the empty input through).
536  It can be argued that a filter that produces anything but empty for
537  an empty input is nonsense, but if the user wants to do strange
538  things, then why not?
540  Will merge to 'master'.
543 * jk/http-backend-deadlock (2015-05-25) 1 commit
544   (merged to 'next' on 2015-05-26 at 9f3bd8a)
545  + Merge branch 'jk/http-backend-deadlock-2.3' into jk/http-backend-deadlock
546  (this branch uses jk/http-backend-deadlock-2.2 and jk/http-backend-deadlock-2.3.)
548  Communication between the HTTP server and http_backend process can
549  lead to a dead-lock when relaying a large ref negotiation request.
550  Diagnose the situation better, and mitigate it by reading such a
551  request first into core (to a reasonable limit).
553  Will merge to 'master'.
556 * mm/log-format-raw-doc (2015-05-20) 2 commits
557   (merged to 'next' on 2015-05-26 at 97e2c9d)
558  + Documentation/log: clarify sha1 non-abbreviation in log --raw
559  + Documentation/log: clarify what --raw means
561  Clarify that "log --raw" and "log --format=raw" are unrelated
562  concepts.
564  Will merge to 'master'.
567 * sg/help-group (2015-05-21) 5 commits
568   (merged to 'next' on 2015-05-26 at 2749912)
569  + help: respect new common command grouping
570  + command-list.txt: drop the "common" tag
571  + generate-cmdlist: parse common group commands
572  + command-list.txt: add the common groups block
573  + command-list: prepare machinery for upcoming "common groups" section
575  Group list of commands shown by "git help" along the workflow
576  elements to help early learners.
578  Will merge to 'master'.
581 * ld/p4-editor-multi-words (2015-05-26) 3 commits
582  - git-p4: tests: use test-chmtime in place of touch
583  - git-p4: fix handling of multi-word P4EDITOR
584  - git-p4: add failing test for P4EDITOR handling
586  Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
587  command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
588  did not let the shell interpolate the contents of the environment
589  variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
590  Make it in line with the rest of Git, as well as with Perforce.
592  Will merge to 'next'.
595 * pt/pull-tests (2015-05-18) 8 commits
596  - t5520: check reflog action in fast-forward merge
597  - t5521: test --dry-run does not make any changes
598  - t5520: test --rebase failure on unborn branch with index
599  - t5520: test --rebase with multiple branches
600  - t5520: test work tree fast-forward when fetch updates head
601  - t5520: test for failure if index has unresolved entries
602  - t5520: test no merge candidates cases
603  - t5520: prevent field splitting in content comparisons
605  Add more test coverage to "git pull".
608 * jc/clone-bundle (2015-04-30) 1 commit
609  - repack: optionally create a clone.bundle
611  Still an early WIP
614 * jk/at-push-sha1 (2015-05-22) 16 commits
615   (merged to 'next' on 2015-05-26 at d9d342f)
616  + for-each-ref: accept "%(push)" format
617  + for-each-ref: use skip_prefix instead of starts_with
618  + sha1_name: implement @{push} shorthand
619  + sha1_name: refactor interpret_upstream_mark
620  + sha1_name: refactor upstream_mark
621  + remote.c: add branch_get_push
622  + remote.c: return upstream name from stat_tracking_info
623  + remote.c: untangle error logic in branch_get_upstream
624  + remote.c: report specific errors from branch_get_upstream
625  + remote.c: introduce branch_get_upstream helper
626  + remote.c: hoist read_config into remote_get_1
627  + remote.c: provide per-branch pushremote name
628  + remote.c: hoist branch.*.remote lookup out of remote_get_1
629  + remote.c: drop "remote" pointer from "struct branch"
630  + remote.c: refactor setup of branch->merge list
631  + remote.c: drop default_remote_name variable
633  Introduce <branch>@{push} short-hand to denote the remote-tracking
634  branch that tracks the branch at the remote the <branch> would be
635  pushed to.
637  Will merge to 'master'.
640 * ee/clean-remove-dirs (2015-04-26) 5 commits
641  - clean: improve performance when removing lots of directories
642  - p7300: add performance tests for clean
643  - t7300: add tests to document behavior of clean and nested git
644  - setup: sanity check file size in read_gitfile_gently
645  - setup: add gentle version of read_gitfile
647  Replace "is this subdirectory a separate repository that should not
648  be touched?" check "git clean" does by checking if it has .git/HEAD
649  using the submodule-related code with a more optimized check.
651  Waiting for a reroll.
654 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
655  - merge: drop 'git merge <message> HEAD <commit>' syntax
657  Stop supporting "git merge <message> HEAD <commit>" syntax that
658  has been deprecated since October 2007.
660  Will merge to 'next' and keep there during the 2.5 cycle.
663 * ah/usage-strings (2015-05-03) 2 commits
664  - branch: fix funny-sounding error message
665  - blame, log: format usage strings similarly to those in documentation
667  A few usage string updates.  The tip one still needs work.