What's cooking (2013/12 #04)
[git.git] / whats-cooking.txt
blob7bf30908833efdfbcc59a14746d30b63f9181cc7
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Dec 2013, #04; Tue, 17)
4 X-master-at: 7794a680e63a2a11b73cb1194653662f2769a792
5 X-next-at: 3e57c29e689448252d8f77d1a49492e7b4cdbfa4
7 What's cooking in git.git (Dec 2013, #04; Tue, 17)
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 You can find the changes described here in the integration branches
15 of the repositories listed at
17     http://git-blame.blogspot.com/p/git-public-repositories.html
19 --------------------------------------------------
20 [Graduated to "master"]
22 * bc/doc-merge-no-op-revert (2013-12-09) 1 commit
23   (merged to 'next' on 2013-12-13 at 6e0ce64)
24  + Documentation: document pitfalls with 3-way merge
27 * cc/starts-n-ends-with (2013-12-05) 4 commits
28   (merged to 'next' on 2013-12-12 at 76ee567)
29  + replace {pre,suf}fixcmp() with {starts,ends}_with()
30  + strbuf: introduce starts_with() and ends_with()
31  + builtin/remote: remove postfixcmp() and use suffixcmp() instead
32  + environment: normalize use of prefixcmp() by removing " != 0"
33  (this branch is used by cc/starts-n-ends-with-endgame.)
35  Remove a few duplicate implementations of prefix/suffix comparison
36  functions, and rename them to starts_with and ends_with.
39 * fc/trivial (2013-12-09) 4 commits
40   (merged to 'next' on 2013-12-13 at eeead16)
41  + remote: fix status with branch...rebase=preserve
42  + fetch: add missing documentation
43  + t: trivial whitespace cleanups
44  + abspath: trivial style fix
47 * jk/t5000-gzip-simplify (2013-12-04) 1 commit
48   (merged to 'next' on 2013-12-09 at e9010f1)
49  + t5000: simplify gzip prerequisite checks
51  Test fix.
54 * jl/commit-v-strip-marker (2013-12-05) 1 commit
55   (merged to 'next' on 2013-12-09 at 2b85e9e)
56  + commit -v: strip diffs and submodule shortlogs from the commit message
58  "git commit -v" appends the patch to the log message before
59  editing, and then removed the patch when the editor returned
60  control. However, the patch was not stripped correctly when the
61  first modified path was a submodule.
64 * kb/doc-exclude-directory-semantics (2013-12-09) 1 commit
65   (merged to 'next' on 2013-12-09 at e54b2ec)
66  + gitignore.txt: clarify recursive nature of excluded directories
69 * kn/gitweb-extra-branch-refs (2013-12-12) 4 commits
70   (merged to 'next' on 2013-12-12 at ae75b02)
71  + gitweb: Denote non-heads, non-remotes branches
72  + gitweb: Add a feature for adding more branch refs
73  + gitweb: Return 1 on validation success instead of passed input
74  + gitweb: Move check-ref-format code into separate function
76  Allow gitweb to be configured to show refs out of refs/heads/ as if
77  they were branches.
80 * mm/mv-file-to-no-such-dir-with-slash (2013-12-04) 1 commit
81   (merged to 'next' on 2013-12-09 at f33bc0b)
82  + mv: let 'git mv file no-such-dir/' error out
85 * nd/gettext-vsnprintf (2013-12-04) 1 commit
86   (merged to 'next' on 2013-12-09 at e99106e)
87  + gettext.c: detect the vsnprintf bug at runtime
90 * nd/remove-opt-boolean (2013-12-09) 1 commit
91   (merged to 'next' on 2013-12-13 at 26f46cc)
92  + parse-options: remove OPT_BOOLEAN
95 * nd/transport-positive-depth-only (2013-12-06) 1 commit
96   (merged to 'next' on 2013-12-12 at f953cb8)
97  + clone,fetch: catch non positive --depth option value
99  "git fetch --depth=0" was a no-op, and was silently
100  ignored. Diagnose it as an error.
103 * tb/clone-ssh-with-colon-for-port (2013-12-09) 10 commits
104   (merged to 'next' on 2013-12-12 at ae4ae39)
105  + git_connect(): use common return point
106  + connect.c: refactor url parsing
107  + git_connect(): refactor the port handling for ssh
108  + git fetch: support host:/~repo
109  + t5500: add test cases for diag-url
110  + git fetch-pack: add --diag-url
111  + git_connect: factor out discovery of the protocol and its parts
112  + git_connect: remove artificial limit of a remote command
113  + t5601: add tests for ssh
114  + t5601: remove clear_ssh, refactor setup_ssh_wrapper
116  Be more careful when parsing remote repository URL given in the
117  scp-style host:path notation.
120 * tr/send-email-ssl (2013-12-04) 3 commits
121   (merged to 'next' on 2013-12-09 at facb859)
122  + send-email: set SSL options through IO::Socket::SSL::set_client_defaults
123  + send-email: --smtp-ssl-cert-path takes an argument
124  + send-email: pass Debug to Net::SMTP::SSL::new
126  SSL-related options were not passed correctly to underlying socket
127  layer in "git send-email".
129 --------------------------------------------------
130 [New Topics]
132 * ap/path-max (2013-12-16) 1 commit
133  - Prevent buffer overflows when path is too long
135  Will merge to 'next'.
138 * mh/path-max (2013-12-17) 1 commit
139  - prune-packed: use strbuf to avoid having to worry about PATH_MAX
141  This is my rewrite of Michael's patch to prune-packed (which still
142  had a hardcoded PATH_MAX limitation) using strbuf. Tweaking of the
143  other patch in the same series ($gmane/239386) for prune is left as
144  an exercise to the readers ;-)
146 --------------------------------------------------
147 [Stalled]
149 * mo/subtree-split-updates (2013-12-10) 3 commits
150  - subtree: add --edit option
151  - subtree: allow --squash and --message with push
152  - subtree: support split --rejoin --squash
154  Comments?
157 * hv/submodule-ignore-fix (2013-12-06) 4 commits
158  - disable complete ignorance of submodules for index <-> HEAD diff
159  - always show committed submodules in summary after commit
160  - teach add -f option for ignored submodules
161  - fix 'git add' to skip submodules configured as ignored
163  Teach "git add" to be consistent with "git status" when changes to
164  submodules are set to be ignored, to avoid surprises after checking
165  with "git status" to see there isn't any change to be further added
166  and then see that "git add ." adds changes to them.
168  I think a reroll is coming, so this may need to be replaced, but I
169  needed some practice with heavy conflict resolution.  It conflicts
170  with two changes to "git add" that have been scheduled for Git 2.0
171  quite badly, and I think I got the resolution right this time (a
172  few nights ago I tried and failed and that was why it hasn't been
173  merged to 'pu' so far).
176 * kb/fast-hashmap (2013-12-16) 17 commits
177  - hashmap.h: make sure map entries are tightly packed
178   (merged to 'next' on 2013-12-16 at bff99b1)
179  + Drop unnecessary #includes from test-hashmap
180  + Add test-hashmap to .gitignore
181   (merged to 'next' on 2013-12-06 at f90be3d)
182  + read-cache.c: fix memory leaks caused by removed cache entries
183  + builtin/update-index.c: cleanup update_one
184  + fix 'git update-index --verbose --again' output
185  + remove old hash.[ch] implementation
186  + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
187  + name-hash.c: use new hash map implementation for cache entries
188  + name-hash.c: remove unreferenced directory entries
189  + name-hash.c: use new hash map implementation for directories
190  + diffcore-rename.c: use new hash map implementation
191  + diffcore-rename.c: simplify finding exact renames
192  + diffcore-rename.c: move code around to prepare for the next patch
193  + buitin/describe.c: use new hash map implementation
194  + add a hashtable implementation that supports O(1) removal
195  + submodule: don't access the .gitmodules cache entry after removing it
197  Improvements to our hash table to get it to meet the needs of the
198  msysgit fscache project, with some nice performance improvements.
200  The tip one does not seem to have reached concensus (yet).
203 * jc/create-directories-microopt (2013-11-11) 1 commit
204  - checkout: most of the time we have good leading directories
206  Of unknown value until tested on non-Linux platforms (especially
207  Windows).
209  Will hold.
212 * jt/commit-fixes-footer (2013-10-30) 1 commit
213  - commit: Add -f, --fixes <commit> option to add Fixes: line
215  There is an ongoing discussion around this topic; in general I am
216  fairly negative on a new feature that is too narrow and prefer a
217  more generic solution that can be tailored for specific needs, as
218  many people stated in the thread.
220  It appears that the discussion stalled.
223 * np/pack-v4 (2013-09-18) 90 commits
224  . packv4-parse.c: add tree offset caching
225  . t1050: replace one instance of show-index with verify-pack
226  . index-pack, pack-objects: allow creating .idx v2 with .pack v4
227  . unpack-objects: decode v4 trees
228  . unpack-objects: allow to save processed bytes to a buffer
229  - ...
231  Nico and Duy advancing the eternal vaporware pack-v4.  This is here
232  primarily for wider distribution of the preview edition.
234  Temporarily ejected from 'pu', to try out jk/pack-bitmap, which
235  this topic conflicts with.
238 * jk/pack-bitmap (2013-11-18) 22 commits
239  - compat/mingw.h: Fix the MinGW and msvc builds
240  - pack-bitmap: implement optional name_hash cache
241  - t/perf: add tests for pack bitmaps
242  - t: add basic bitmap functionality tests
243  - count-objects: recognize .bitmap in garbage-checking
244  - repack: consider bitmaps when performing repacks
245  - repack: handle optional files created by pack-objects
246  - repack: turn exts array into array-of-struct
247  - repack: stop using magic number for ARRAY_SIZE(exts)
248  - pack-objects: implement bitmap writing
249  - rev-list: add bitmap mode to speed up object lists
250  - pack-objects: use bitmaps when packing objects
251  - pack-bitmap: add support for bitmap indexes
252  - documentation: add documentation for the bitmap format
253  - ewah: compressed bitmap implementation
254  - compat: add endianness helpers
255  - sha1_file: export `git_open_noatime`
256  - revision: allow setting custom limiter function
257  - pack-objects: factor out name_hash
258  - pack-objects: refactor the packing list
259  - revindex: export new APIs
260  + sha1write: make buffer const-correct
261  (this branch is tangled with jk/name-pack-after-byte-representation.)
263  Borrows the bitmap index into packfiles from JGit to speed up
264  enumeration of objects involved in a commit range without having to
265  fully traverse the history.
267  A reroll forthcoming?
270 * mf/graph-show-root (2013-10-25) 1 commit
271  . graph.c: mark root commit differently
273  In a repository with multiple-roots, "log --graph", especially with
274  "--oneline", does not give the reader enough visual cue to see
275  where one line of history ended and a separate history began.
277  This is the version that marks the roots 'x' when they would have
278  been marked as '*'; Keshav Kini suggested an alternative of giving
279  an extra blank line after every root, which I tend to think is a
280  better approach to the problem.
283 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
284  - perf-lib: add test_perf_cleanup target
285  - perf-lib: split starting the test from the execution
287  Add test_perf_cleanup shell function to the perf suite, that allows
288  the script writers to define a test with a clean-up action.
290  Holding until needed.
293 * yt/shortened-rename (2013-10-18) 2 commits
294  - SQUASH??? style fixes and s/omit/shorten/ where appropriate
295  - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
297  Attempts to give more weight on the fact that a filepair represents
298  a rename than showing substring of the actual path when diffstat
299  lines are not wide enough.
301  I am not sure if that is solving a right problem, though.
304 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
305  - git-send-email: Cache generated message-ids, use them when prompting
306  - git-send-email: add optional 'choices' parameter to the ask sub
309 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
310  - ### DONTMERGE: needs better explanation on what config they need
311  - pack-refs.c: Add missing call to git_config()
312  - show-ref.c: Add missing call to git_config()
314  The changes themselves are probably good, but it is unclear what
315  basic setting needs to be read for which exact operation.
317  Waiting for clarification.
318  $gmane/228294
321 * jc/format-patch (2013-04-22) 2 commits
322  - format-patch: --inline-single
323  - format-patch: rename "no_inline" field
325  A new option to send a single patch to the standard output to be
326  appended at the bottom of a message.  I personally have no need for
327  this, but it was easy enough to cobble together.  Tests, docs and
328  stripping out more MIMEy stuff are left as exercises to interested
329  parties.
332 * jk/gitweb-utf8 (2013-04-08) 4 commits
333  - gitweb: Fix broken blob action parameters on blob/commitdiff pages
334  - gitweb: Don't append ';js=(0|1)' to external links
335  - gitweb: Make feed title valid utf8
336  - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
338  Various fixes to gitweb.
340  Drew Northup volunteered to take a look into this.
341  $gmane/226216
344 * jc/show-branch (2013-06-07) 5 commits
345  - show-branch: use commit slab to represent bitflags of arbitrary width
346  - show-branch.c: remove "all_mask"
347  - show-branch.c: abstract out "flags" operation
348  - show-branch.c: lift all_mask/all_revs to a global static
349  - show-branch.c: update comment style
351  Waiting for the final step to lift the hard-limit before sending it out.
353 --------------------------------------------------
354 [Cooking]
356 * nv/commit-gpgsign-config (2013-12-17) 3 commits
357  - test the commit.gpgsign config option
358  - commit-tree: add and document --no-gpg-sign
359  - Add the commit.gpgsign option to sign all commits
361  Introduce commit.gpgsign configuration variable to force every
362  commit to be GPG signed.  The variable cannot be overriden from the
363  command line of some of the commands that create commits except for
364  "git commit" and "git commit-tree", but I am not convinced that it
365  is a good idea to sprinkle support for --no-gpg-sign everywhere.
367  Will merge to 'next'.
370 * cc/replace-object-info (2013-12-12) 10 commits
371   (merged to 'next' on 2013-12-17 at aeb9e18)
372  + Documentation/git-replace: describe --format option
373  + builtin/replace: unset read_replace_refs
374  + t6050: add tests for listing with --format
375  + builtin/replace: teach listing using short, medium or full formats
376  + sha1_file: perform object replacement in sha1_object_info_extended()
377  + t6050: show that git cat-file --batch fails with replace objects
378  + sha1_object_info_extended(): add an "unsigned flags" parameter
379  + sha1_file.c: add lookup_replace_object_extended() to pass flags
380  + replace_object: don't check read_replace_refs twice
381  + rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
383  read_sha1_file() that is the workhorse to read the contents given
384  an object name honoured object replacements, but there is no
385  corresponding mechanism to sha1_object_info() that is used to
386  obtain the metainfo (e.g. type & size) about the object, leading
387  callers to weird inconsistencies.
389  Has this been reviewed sufficiently?
391  Will merge to 'next'.
394 * fc/completion (2013-12-09) 1 commit
395  - completion: fix completion of certain aliases
397  SZEDER Gábor noticed that this breaks "git -c var=val alias" and
398  also suggested a better description of the change.
400  Will hold.
403 * fc/remote-helper-fixes (2013-12-09) 4 commits
404   (merged to 'next' on 2013-12-17 at aa4dc07)
405  + remote-hg: add tests for special filenames
406  + remote-hg: fix 'shared path' path
407  + remote-helpers: add extra safety checks
408  + remote-hg: avoid buggy strftime()
410  Expecting follow-up test additions.
413 * jk/cat-file-regression-fix (2013-12-12) 2 commits
414   (merged to 'next' on 2013-12-13 at 3713e01)
415  + cat-file: handle --batch format with missing type/size
416  + cat-file: pass expand_data to print_object_or_die
418  "git cat-file --batch=", an admittedly useless command, did not
419  behave very well.
421  Will merge to 'master'.
424 * jk/pull-rebase-using-fork-point (2013-12-10) 2 commits
425   (merged to 'next' on 2013-12-13 at 1862c12)
426  + rebase: use reflog to find common base with upstream
427  + pull: use merge-base --fork-point when appropriate
429  Will merge to 'master'.
432 * jk/rev-parse-double-dashes (2013-12-09) 2 commits
433   (merged to 'next' on 2013-12-13 at d26bac7)
434  + rev-parse: be more careful with munging arguments
435  + rev-parse: correctly diagnose revision errors before "--"
437  "git rev-parse <revs> -- <paths>" did not implement the usual
438  disambiguation rules the commands in the "git log" family used in
439  the same way.
441  Will merge to 'master'.
444 * nd/shallow-clone (2013-12-10) 28 commits
445  - git-clone.txt: remove shallow clone limitations
446  - prune: clean .git/shallow after pruning objects
447  - clone: use git protocol for cloning shallow repo locally
448  - send-pack: support pushing from a shallow clone via http
449  - receive-pack: support pushing to a shallow clone via http
450  - smart-http: support shallow fetch/clone
451  - remote-curl: pass ref SHA-1 to fetch-pack as well
452  - send-pack: support pushing to a shallow clone
453  - receive-pack: allow pushes that update .git/shallow
454  - connected.c: add new variant that runs with --shallow-file
455  - add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
456  - receive/send-pack: support pushing from a shallow clone
457  - receive-pack: reorder some code in unpack()
458  - fetch: add --update-shallow to accept refs that update .git/shallow
459  - upload-pack: make sure deepening preserves shallow roots
460  - fetch: support fetching from a shallow repository
461  - clone: support remote shallow repository
462  - fetch-pack.h: one statement per bitfield declaration
463  - fetch-pack.c: move shallow update code out of fetch_pack()
464  - shallow.c: steps 6 and 7 to select new commits for .git/shallow
465  - shallow.c: the 8 steps to select new commits for .git/shallow
466  - shallow.c: extend setup_*_shallow() to accept extra shallow commits
467  - connect.c: teach get_remote_heads to parse "shallow" lines
468  - make the sender advertise shallow commits to the receiver
469  - clone: prevent --reference to a shallow repository
470  - send-pack: forbid pushing from a shallow repository
471  - remote.h: replace struct extra_have_objects with struct sha1_array
472  - transport.h: remove send_pack prototype, already defined in send-pack.h
474  Fetching from a shallow-cloned repository used to be forbidden,
475  primarily because the codepaths involved were not carefully vetted
476  and we did not bother supporting such usage. This attempts to allow
477  object transfer out of a shallow-cloned repository in a controlled
478  way (i.e. the receiver become a shallow repository with truncated
479  history).
481  Will merge to 'next'.
484 * tg/diff-no-index-refactor (2013-12-16) 4 commits
485   (merged to 'next' on 2013-12-17 at 009d8d8)
486  + diff: avoid some nesting
487  + diff: add test for --no-index executed outside repo
488   (merged to 'next' on 2013-12-13 at 523f7c4)
489  + diff: don't read index when --no-index is given
490  + diff: move no-index detection to builtin/diff.c
492  "git diff ../else/where/A ../else/where/B" when ../else/where is
493  clearly outside the repository, and "git diff --no-index A B", do
494  not have to look at the index at all, but we used to read the index
495  unconditionally.
497  Will merge to 'master'.
500 * fc/transport-helper-fixes (2013-12-09) 6 commits
501  - remote-bzr: support the new 'force' option
502  - test-hg.sh: tests are now expected to pass
503  - transport-helper: check for 'forced update' message
504  - transport-helper: add 'force' to 'export' helpers
505  - transport-helper: don't update refs in dry-run
506  - transport-helper: mismerge fix
508  Updates transport-helper, fast-import and fast-export to allow the
509  ref mapping and ref deletion in a way similar to the natively
510  supported transports.
512  Will hold. Reported to break t5541.
515 * jn/git-gui-chmod+x (2013-11-25) 1 commit
516  - git-gui: chmod +x po2msg, windows/git-gui.sh
518  Parked here until I get the same change back from the upstream
519  git-gui tree.
522 * jn/gitk-chmod+x (2013-11-25) 1 commit
523  - gitk: chmod +x po2msg
525  Parked here until I get the same change back from the upstream gitk
526  tree.
529 * jk/name-pack-after-byte-representation (2013-12-16) 3 commits
530   (merged to 'next' on 2013-12-17 at 0bc385c)
531  + pack-objects doc: treat output filename as opaque
532   (merged to 'next' on 2013-12-09 at 247b2d0)
533  + pack-objects: name pack files after trailer hash
534  + sha1write: make buffer const-correct
535  (this branch is tangled with jk/pack-bitmap.)
537  Two packfiles that contain the same set of objects have
538  traditionally been named identically, but that made repacking a
539  repository that is already fully packed without any cruft with a
540  different packing parameter cumbersome. Update the convention to
541  name the packfile after the bytestream representation of the data,
542  not after the set of objects in it.
544  Will merge to 'master'.
547 * nd/negative-pathspec (2013-12-06) 3 commits
548   (merged to 'next' on 2013-12-12 at 9f340c8)
549  + pathspec.c: support adding prefix magic to a pathspec with mnemonic magic
550  + Support pathspec magic :(exclude) and its short form :!
551  + glossary-content.txt: rephrase magic signature part
553  Introduce "negative pathspec" magic, to allow "git log -- . ':!dir'" to
554  tell us "I am interested in everything but 'dir' directory".
556  Will cook in 'next'.
559 * zk/difftool-counts (2013-12-16) 2 commits
560   (merged to 'next' on 2013-12-16 at 0e0d235)
561  + diff.c: fix some recent whitespace style violations
562   (merged to 'next' on 2013-12-12 at ba35694)
563  + difftool: display the number of files in the diff queue in the prompt
565  Show the total number of paths and the number of paths shown so far
566  when "git difftool" prompts to launch an external diff tool, which
567  would give users some sense of progress.
569  Will merge to 'master'.
572 * cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
573  - strbuf: remove prefixcmp() and suffixcmp()
575  Endgame for the cc/starts-n-ends-with topic; this needs to be
576  evil-merged with other topics that introduce new uses of
577  prefix/suffix-cmp functions.
580 * jc/push-refmap (2013-12-04) 3 commits
581   (merged to 'next' on 2013-12-12 at 71e358f)
582  + push: also use "upstream" mapping when pushing a single ref
583  + push: use remote.$name.push as a refmap
584  + builtin/push.c: use strbuf instead of manual allocation
586  Make "git push origin master" update the same ref that would be
587  updated by our 'master' when "git push origin" (no refspecs) is run
588  while the 'master' branch is checked out, which makes "git push"
589  more symmetric to "git fetch" and more usable for the triangular
590  workflow.
592  Will merge to 'master'.
595 * js/gnome-keyring (2013-12-16) 1 commit
596   (merged to 'next' on 2013-12-17 at 422fd61)
597  + contrib/git-credential-gnome-keyring.c: small stylistic cleanups
599  Style fix.
601  Will merge to 'master'.
604 * gj/push-more-verbose-advice (2013-11-13) 1 commit
605   (merged to 'next' on 2013-12-06 at 574b18a)
606  + push: switch default from "matching" to "simple"
608  Originally merged to 'next' on 2013-11-21
610  Explain 'simple' and 'matching' in "git push" advice message; the
611  topmost patch is a rebase of jc/push-2.0-default-to-simple on top
612  of it.
614  Will cook in 'next' until Git 2.0.
617 * tr/merge-recursive-index-only (2013-10-28) 3 commits
618  - merge-recursive: -Xindex-only to leave worktree unchanged
619  - merge-recursive: internal flag to avoid touching the worktree
620  - merge-recursive: remove dead conditional in update_stages()
622  Will hold until using script appears.
625 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
626   (merged to 'next' on 2013-12-06 at ead2ec8)
627  + git add: -u/-A now affects the entire working tree
629  Will cook in 'next' until Git 2.0.
632 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
633   (merged to 'next' on 2013-12-06 at ae18007)
634  + core.statinfo: remove as promised in Git 2.0
636  Will cook in 'next' until Git 2.0.
639 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
640   (merged to 'next' on 2013-12-06 at 6fad61c)
641  + push: switch default from "matching" to "simple"
643  Will cook in 'next' until Git 2.0.
646 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
647   (merged to 'next' on 2013-12-06 at fbaa75a)
648  + git add <pathspec>... defaults to "-A"
650  Updated endgame for "git add <pathspec>" that defaults to "--all"
651  aka "--no-ignore-removal".
653  Will cook in 'next' until Git 2.0.
656 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
657   (merged to 'next' on 2013-12-06 at 083d67c)
658  + diff: remove "diff-files -q" in a version of Git in a distant future
660  Will cook in 'next' until a distant future.
662 --------------------------------------------------
663 [Discarded]
665 * aa/transport-non-positive-depth-only (2013-11-26) 1 commit
666  . transport: catch non positive --depth option value
669 * cc/remote-remove-redundant-postfixcmp (2013-11-06) 2 commits
670  . Rename suffixcmp() to has_suffix() and invert its result
671  . builtin/remote: remove postfixcmp() and use suffixcmp() instead
674 * th/reflog-annotated-tag (2013-10-28) 1 commit
675  . reflog: handle lightweight and annotated tags equally
677  "git log -g $annotated_tag", when there is no reflog history, should
678  have produced a single output entry (i.e. the ref creation event),
679  but instead showed the history leading to the tag.
681  Broken at the design level.  Any reflog entry that points at a non
682  commit needs to be handled with new code that does not exist yet,
683  and lifting the "this code handles only commits" without adding
684  such code does not solve anything.