What's cooking (2013/12 #01)
[alt-git.git] / whats-cooking.txt
blobba9baade6b482dc6b7852aed12b491c23e87e9a5
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Dec 2013, #01; Wed, 4)
4 X-master-at: daad3aa255ec5c08f95867feaaf8f4db03346e70
5 X-next-at: dd8f0929c2ec5ca88db21a610c529223e471ab6c
7 What's cooking in git.git (Dec 2013, #01; Wed, 4)
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 There are quite a many topics that have been left over from the
15 previous round.  I haven't rewound the tip of 'next' yet, but I am
16 planning to do so real soon now, kicking some topics out of it.
18 You can find the changes described here in the integration branches
19 of the repositories listed at
21     http://git-blame.blogspot.com/p/git-public-repositories.html
23 --------------------------------------------------
24 [Graduated to "master"]
26 * jj/doc-markup-gitcli (2013-11-20) 1 commit
27   (merged to 'next' on 2013-11-21 at 5e49fa8)
28  + Documentation/gitcli.txt: fix double quotes
31 * jj/doc-markup-hints-in-coding-guidelines (2013-11-18) 1 commit
32   (merged to 'next' on 2013-11-21 at 9c638a6)
33  + State correct usage of literal examples in man pages in the coding standards
36 * jj/log-doc (2013-11-13) 2 commits
37   (merged to 'next' on 2013-11-21 at cb0ddd2)
38  + Documentation/git-log.txt: mark-up fix and minor rephasing
39  + Documentation/git-log: update "--log-size" description
42 * jj/rev-list-options-doc (2013-11-18) 2 commits
43   (merged to 'next' on 2013-11-20 at db975de)
44  + Documentation/rev-list-options.txt: fix some grammatical issues and typos
45  + Documentation/rev-list-options.txt: fix mark-up
48 * mi/typofixes (2013-11-12) 3 commits
49   (merged to 'next' on 2013-11-13 at bb7c2eb)
50  + contrib: typofixes
51  + Documentation/technical/http-protocol.txt: typofixes
52  + typofixes: fix misspelt comments
55 * nd/glossary-content-pathspec-markup (2013-11-21) 1 commit
56   (merged to 'next' on 2013-11-21 at 6072636)
57  + glossary-content.txt: fix documentation of "**" patterns
60 * tb/doc-fetch-pack-url (2013-11-11) 1 commit
61   (merged to 'next' on 2013-11-13 at 90d6832)
62  + git-fetch-pack uses URLs like git-fetch
64 --------------------------------------------------
65 [New Topics]
67 * cl/p4-use-diff-tree (2013-11-22) 1 commit
68   (merged to 'next' on 2013-11-27 at 11926ce)
69  + git p4: Use git diff-tree instead of format-patch
71  Will merge to 'master'.
74 * jn/scripts-updates (2013-11-26) 11 commits
75   (merged to 'next' on 2013-11-27 at 5056d4d)
76  + Merge commit '0f2068c4cfb8bc84d338265f03c773e5559e761d' into jn/scripts-updates
77  + gitk: chmod +x po2msg
78  + Merge commit '688eb87c9444686180d8f379ab854bcbc34db4db' into jn/scripts-updates
79  + git-gui: chmod +x po2msg, windows/git-gui.sh
80  + remove #!interpreter line from shell libraries
81  + test: replace shebangs with descriptions in shell libraries
82  + test: make FILEMODE a lazy prereq
83  + contrib: remove git-p4import
84  + mark contributed hooks executable
85  + mark perl test scripts executable
86  + mark Windows build scripts executable
88  Will drop the two merges at the tip to gitk and git-gui parts of
89  the tree, as I've forwarded the relevant patches to the upstream
90  and expect them to come back later from their respective trees.
93 * tr/commit-slab-cleanup (2013-12-02) 3 commits
94   (merged to 'next' on 2013-12-02 at f545f4d)
95  + commit-slab: sizeof() the right type in xrealloc
96   (merged to 'next' on 2013-11-27 at 84d5a73)
97  + commit-slab: declare functions "static inline"
98  + commit-slab: document clear_$slabname()
101 * tr/doc-git-cherry (2013-11-27) 1 commit
102   (merged to 'next' on 2013-11-27 at d37f520)
103  + Documentation: revamp git-cherry(1)
105  Will merge to 'master'.
108 * aa/transport-non-positive-depth-only (2013-11-26) 1 commit
109   (merged to 'next' on 2013-11-27 at b01f05b)
110  + transport: catch non positive --depth option value
112  Will merge to 'master'.
115 * rs/doc-submitting-patches (2013-11-27) 1 commit
116   (merged to 'next' on 2013-11-27 at f8886f4)
117  + SubmittingPatches: document how to handle multiple patches
119  Will merge to 'master'.
122 * cc/starts-n-ends-with (2013-12-04) 4 commits
123  - replace {pre,suf}fixcmp() with {starts,ends}_with()
124  - strbuf: introduce starts_with() and ends_with()
125  - builtin/remote: remove postfixcmp() and use suffixcmp() instead
126  - environment: normalize use of prefixcmp() by removing " != 0"
127  (this branch is used by cc/starts-n-ends-with-endgame.)
129  Remove a few duplicate implementations of prefix/suffix comparison
130  functions, and rename them to starts_with and ends_with.
132  This conflicts with a part of cc/remote-remove-redundant-postfixcmp
133  topic (I think it actually subsumes it).
136 * cc/starts-n-ends-with-endgame (2013-12-04) 1 commit
137  - strbuf: remove prefixcmp() and suffixcmp()
138  (this branch uses cc/starts-n-ends-with.)
140  Endgame for the above topic, that needs to be evil-merged with
141  other topics that introduce new uses of prefix/suffix-cmp
142  functions.
145 * jc/push-refmap (2013-12-04) 3 commits
146  - push: also use "upstream" mapping when pushing a single ref
147  - push: use remote.$name.push as a refmap
148  - builtin/push.c: use strbuf instead of manual allocation
150  Make "git push origin master" update the same ref that would be
151  updated by our 'master' when "git push origin" (no refspecs) is run
152  while the 'master' branch is checked out, which makes "git push"
153  more symmetric to "git fetch" and more usable for the triangular
154  workflow.
157 * jk/t5000-gzip-simplify (2013-12-04) 1 commit
158  - t5000: simplify gzip prerequisite checks
160  Test fix.
163 * js/gnome-keyring (2013-12-04) 1 commit
164  - contrib/git-credential-gnome-keyring.c: small stylistic cleanups
166  Style fix.
169 * kn/gitweb-extra-branch-refs (2013-12-04) 4 commits
170  - gitweb: Denote non-heads, non-remotes branches
171  - gitweb: Add a feature for adding more branch refs
172  - gitweb: Return plain booleans in validation methods
173  - gitweb: Move check-ref-format code into separate function
175  Allow gitweb to be configured to show refs out of refs/heads/ as if
176  they were branches.
179 * mm/mv-file-to-no-such-dir-with-slash (2013-12-04) 1 commit
180  - mv: let 'git mv file no-such-dir/' error out
183 * nd/gettext-vsnprintf (2013-12-04) 1 commit
184  - gettext.c: detect the vsnprintf bug at runtime
187 * tr/send-email-ssl (2013-12-04) 3 commits
188  - send-email: set SSL options through IO::Socket::SSL::set_client_defaults
189  - send-email: --smtp-ssl-cert-path takes an argument
190  - send-email: pass Debug to Net::SMTP::SSL::new
192 --------------------------------------------------
193 [Stalled]
195 * jl/commit-v-strip-marker (2013-11-19) 1 commit
196  - commit -v: strip diffs and submodule shortlogs from the commit message
198  Perhaps another reroll for core.commentChar coming?
201 * fc/transport-helper-fixes (2013-11-13) 12 commits
202  - remote-bzr: support the new 'force' option
203  - transport-helper: add support to delete branches
204  - fast-export: add support to delete refs
205  - fast-import: add support to delete refs
206  - transport-helper: add support for old:new refspec
207  - fast-export: add new --refspec option
208  - fast-export: improve argument parsing
209  - test-hg.sh: tests are now expected to pass
210  - transport-helper: check for 'forced update' message
211  - transport-helper: add 'force' to 'export' helpers
212  - transport-helper: don't update refs in dry-run
213  - transport-helper: mismerge fix
215  Updates transport-helper, fast-import and fast-export to allow the
216  ref mapping and ref deletion in a way similar to the natively
217  supported transports.
219  The option name "--refspec" needs to be rethought. It does not mean
220  what refspec usually means, even though it shares the same syntax
221  with refspec; calling it --refspec only because it shares the same
222  syntax is like calling it --asciistring and does not make sense.
225 * nv/commit-gpgsign-config (2013-11-06) 1 commit
226  - Add the commit.gpgsign option to sign all commits
228  Introduce commit.gpgsign configuration variable to force every
229  commit to be GPG signed.
231  Needs tests, perhaps?
234 * jt/commit-fixes-footer (2013-10-30) 1 commit
235  - commit: Add -f, --fixes <commit> option to add Fixes: line
237  There is an ongoing discussion around this topic; in general I am
238  fairly negative on a new feature that is too narrow and prefer a
239  more generic solution that can be tailored for specific needs, as
240  many people stated in the thread.
242  It appears that the discussion stalled.
245 * np/pack-v4 (2013-09-18) 90 commits
246  . packv4-parse.c: add tree offset caching
247  . t1050: replace one instance of show-index with verify-pack
248  . index-pack, pack-objects: allow creating .idx v2 with .pack v4
249  . unpack-objects: decode v4 trees
250  . unpack-objects: allow to save processed bytes to a buffer
251  - ...
253  Nico and Duy advancing the eternal vaporware pack-v4.  This is here
254  primarily for wider distribution of the preview edition.
256  Temporarily ejected from 'pu', to try out jk/pack-bitmap, which
257  this topic conflicts with.
260 * jk/pack-bitmap (2013-11-18) 22 commits
261  - compat/mingw.h: Fix the MinGW and msvc builds
262  - pack-bitmap: implement optional name_hash cache
263  - t/perf: add tests for pack bitmaps
264  - t: add basic bitmap functionality tests
265  - count-objects: recognize .bitmap in garbage-checking
266  - repack: consider bitmaps when performing repacks
267  - repack: handle optional files created by pack-objects
268  - repack: turn exts array into array-of-struct
269  - repack: stop using magic number for ARRAY_SIZE(exts)
270  - pack-objects: implement bitmap writing
271  - rev-list: add bitmap mode to speed up object lists
272  - pack-objects: use bitmaps when packing objects
273  - pack-bitmap: add support for bitmap indexes
274  - documentation: add documentation for the bitmap format
275  - ewah: compressed bitmap implementation
276  - compat: add endianness helpers
277  - sha1_file: export `git_open_noatime`
278  - revision: allow setting custom limiter function
279  - pack-objects: factor out name_hash
280  - pack-objects: refactor the packing list
281  - revindex: export new APIs
282  - sha1write: make buffer const-correct
284  Borrows the bitmap index into packfiles from JGit to speed up
285  enumeration of objects involved in a commit range without having to
286  fully traverse the history.
289 * mf/graph-show-root (2013-10-25) 1 commit
290  . graph.c: mark root commit differently
292  In a repository with multiple-roots, "log --graph", especially with
293  "--oneline", does not give the reader enough visual cue to see
294  where one line of history ended and a separate history began.
296  This is the version that marks the roots 'x' when they would have
297  been marked as '*'; Keshav Kini suggested an alternative of giving
298  an extra blank line after every root, which I tend to think is a
299  better approach to the problem.
302 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
303  - perf-lib: add test_perf_cleanup target
304  - perf-lib: split starting the test from the execution
306  Add test_perf_cleanup shell function to the perf suite, that allows
307  the script writers to define a test with a clean-up action.
309  Holding until needed.
312 * yt/shortened-rename (2013-10-18) 2 commits
313  - SQUASH??? style fixes and s/omit/shorten/ where appropriate
314  - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
316  Attempts to give more weight on the fact that a filepair represents
317  a rename than showing substring of the actual path when diffstat
318  lines are not wide enough.
320  I am not sure if that is solving a right problem, though.
323 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
324  - git-send-email: Cache generated message-ids, use them when prompting
325  - git-send-email: add optional 'choices' parameter to the ask sub
328 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
329  - ### DONTMERGE: needs better explanation on what config they need
330  - pack-refs.c: Add missing call to git_config()
331  - show-ref.c: Add missing call to git_config()
333  The changes themselves are probably good, but it is unclear what
334  basic setting needs to be read for which exact operation.
336  Waiting for clarification.
337  $gmane/228294
340 * jc/format-patch (2013-04-22) 2 commits
341  - format-patch: --inline-single
342  - format-patch: rename "no_inline" field
344  A new option to send a single patch to the standard output to be
345  appended at the bottom of a message.  I personally have no need for
346  this, but it was easy enough to cobble together.  Tests, docs and
347  stripping out more MIMEy stuff are left as exercises to interested
348  parties.
351 * jk/gitweb-utf8 (2013-04-08) 4 commits
352  - gitweb: Fix broken blob action parameters on blob/commitdiff pages
353  - gitweb: Don't append ';js=(0|1)' to external links
354  - gitweb: Make feed title valid utf8
355  - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
357  Various fixes to gitweb.
359  Drew Northup volunteered to take a look into this.
360  $gmane/226216
363 * jc/show-branch (2013-06-07) 5 commits
364  - show-branch: use commit slab to represent bitflags of arbitrary width
365  - show-branch.c: remove "all_mask"
366  - show-branch.c: abstract out "flags" operation
367  - show-branch.c: lift all_mask/all_revs to a global static
368  - show-branch.c: update comment style
370  Waiting for the final step to lift the hard-limit before sending it out.
372 --------------------------------------------------
373 [Cooking]
375 * tb/clone-ssh-with-colon-for-port (2013-12-04) 10 commits
376  - git_connect(): use common return point
377  - connect.c: refactor url parsing
378  - git_connect(): refactor the port handling for ssh
379  - git fetch: support host:/~repo
380  - t5500: add test cases for diag-url
381  - git fetch-pack: add --diag-url
382  - git_connect: factor out discovery of the protocol and its parts
383  - git_connect: remove artificial limit of a remote command
384  - t5601: add tests for ssh
385  - t5601: remove clear_ssh, refactor setup_ssh_wrapper
389 * cn/thin-push-capability (2013-11-25) 1 commit
390  - send-pack: don't send a thin pack to a server which doesn't support it
392  Allow receive-pack to insist on receiving a fat pack from "git
393  push" clients.
395  Will merge to 'next'.
398 * jn/perl-lib-extra (2013-11-18) 2 commits
399   (merged to 'next' on 2013-11-20 at 8c90afae)
400  + Makefile: add PERLLIB_EXTRA variable that adds to default perl path
401  + Makefile: rebuild perl scripts when perl paths change
403  Will merge to 'master'.
406 * jk/remove-experimental-loose-object-support (2013-11-21) 1 commit
407   (merged to 'next' on 2013-11-21 at d37bab7)
408  + drop support for "experimental" loose objects
410  Will merge to 'master'.
413 * nd/magic-pathspec (2013-11-20) 1 commit
414   (merged to 'next' on 2013-11-21 at f914a30)
415  + diff: restrict pathspec limitations to diff b/f case only
417  Will merge to 'master'.
420 * jc/bundle (2013-11-12) 1 commit
421   (merged to 'next' on 2013-11-21 at 535b046)
422  + bundle: use argv-array
424  Code clean-up.
426  Will merge to 'master'.
429 * jk/remove-deprecated (2013-12-03) 5 commits
430   (merged to 'next' on 2013-12-03 at bc1da41)
431  + stop installing git-tar-tree link
432   (merged to 'next' on 2013-11-13 at c324792)
433  + peek-remote: remove deprecated alias of ls-remote
434  + lost-found: remove deprecated command
435  + tar-tree: remove deprecated command
436  + repo-config: remove deprecated alias for "git config"
438  Will cook in 'next' until a distant future.
441 * rh/remote-hg-bzr-updates (2013-11-18) 8 commits
442   (merged to 'next' on 2013-11-20 at a36f3c4)
443  + remote-bzr, remote-hg: fix email address regular expression
444  + test-hg.sh: help user correlate verbose output with email test
445  + test-hg.sh: fix duplicate content strings in author tests
446  + test-hg.sh: avoid obsolete 'test' syntax
447  + test-hg.sh: eliminate 'local' bashism
448  + test-bzr.sh, test-hg.sh: prepare for change to push.default=simple
449  + test-bzr.sh, test-hg.sh: allow running from any dir
450  + test-lib.sh: convert $TEST_DIRECTORY to an absolute path
452  The patch that used to be at the bottom of the series has been
453  merged to v1.8.5, as it fixes a minor regression and has also been
454  cherry-picked to 'maint'.
456  Will merge to 'master'.
459 * tr/config-multivalue-lift-max (2013-11-13) 1 commit
460   (merged to 'next' on 2013-11-20 at d18aac9)
461  + config: arbitrary number of matches for --unset and --replace-all
463  Will merge to 'master'.
466 * kb/doc-exclude-directory-semantics (2013-11-07) 1 commit
467   (merged to 'next' on 2013-11-13 at 06e5645)
468  + gitignore.txt: clarify recursive nature of excluded directories
470  Will kick back to 'pu' to replace with a newer reroll ($gmane/237814
471  looked OK but there seems to have some loose ends in the discussion).
474 * jc/create-directories-microopt (2013-11-11) 1 commit
475  - checkout: most of the time we have good leading directories
477  Of unknown value until tested on non-Linux platforms (especially
478  Windows).
480  Will hold.
483 * jl/submodule-update-retire-orig-flags (2013-11-11) 1 commit
484   (merged to 'next' on 2013-11-13 at 4b70d15)
485  + submodule update: remove unnecessary orig_flags variable
487  Code clean-up.
489  Will merge to 'master'.
492 * jn/mediawiki-makefile-updates (2013-11-11) 4 commits
493   (merged to 'next' on 2013-11-13 at 71c8d20)
494  + git-remote-mediawiki build: handle DESTDIR/INSTLIBDIR with whitespace
495  + git-remote-mediawiki build: make 'install' command configurable
496  + git-remote-mediawiki: honor DESTDIR in "make install"
497  + git-remote-mediawiki: do not remove installed files in "clean" target
499  Build and Installation procedure clean-up.
501  Will merge to 'master'.
504 * cc/remote-remove-redundant-postfixcmp (2013-12-04) 3 commits
505   (merged to 'next' on 2013-12-04 at dd8f092)
506  + Revert 76e08227e5bc8b6e3d208da965d2421911d25ae3
507   (merged to 'next' on 2013-11-06 at 7b45219)
508  + Rename suffixcmp() to has_suffix() and invert its result
509   (merged to 'next' on 2013-11-04 at 6408502)
510  + builtin/remote: remove postfixcmp() and use suffixcmp() instead
512  Minor code clean-up.
514  Will drop, as cc/starts-n-ends-with contains the same.
517 * nd/wt-status-align-i18n (2013-11-06) 1 commit
518   (merged to 'next' on 2013-11-13 at b033aa0)
519  + wt-status: take the alignment burden off translators
521  An attempt to automatically align the names in the "git status"
522  output, taking the display width of (translated) section labels
523  into account.
525  Will merge to 'master'.
528 * sb/sha1-loose-object-info-check-existence (2013-11-06) 1 commit
529   (merged to 'next' on 2013-11-06 at 1ea5b18)
530  + sha1_loose_object_info(): do not return success on missing object
532  "git cat-file --batch-check=ok" did not check the existence of the
533  named object.
535  Will merge to 'master'.
538 * gj/push-more-verbose-advice (2013-11-13) 2 commits
539   (merged to 'next' on 2013-11-21 at df10213)
540  + push: switch default from "matching" to "simple"
541   (merged to 'next' on 2013-11-21 at 4ee3d4a)
542  + push: enhance unspecified push default warning
544  Explain 'simple' and 'matching' in "git push" advice message; the
545  topmost patch is a rebase of jc/push-2.0-default-to-simple on top
546  of it.
548  Will merge the bottom to 'master' and cook the other in 'next'.
551 * rr/for-each-ref-decoration (2013-11-19) 6 commits
552   (merged to 'next' on 2013-11-21 at ee7b0ed)
553  + for-each-ref: avoid color leakage
554  + for-each-ref: introduce %(color:...) for color
555  + for-each-ref: introduce %(upstream:track[short])
556  + for-each-ref: introduce %(HEAD) asterisk marker
557  + t6300 (for-each-ref): don't hardcode SHA-1 hexes
558  + t6300 (for-each-ref): clearly demarcate setup
560  Will merge to 'master'.
563 * jk/two-way-merge-corner-case-fix (2013-11-04) 3 commits
564   (merged to 'next' on 2013-11-04 at 79f4fb0)
565  + t1005: add test for "read-tree --reset -u A B"
566  + t1005: reindent
567  + unpack-trees: fix "read-tree -u --reset A B" with conflicted index
569  Fix a rather longstanding corner-case bug in twoway "reset to
570  there" merge, which is most often seen in "git am --abort".
572  Will merge to 'master'.
575 * jc/ref-excludes (2013-11-01) 5 commits
576   (merged to 'next' on 2013-11-04 at fac1ed0)
577  + rev-parse: introduce --exclude=<glob> to tame wildcards
578  + rev-list --exclude: export add/clear-ref-exclusion and ref-excluded API
579  + rev-list --exclude: tests
580  + document --exclude option
581  + revision: introduce --exclude=<glob> to tame wildcards
583  People often wished a way to tell "git log --branches" (and "git
584  log --remotes --not --branches") to exclude some local branches
585  from the expansion of "--branches" (similarly for "--tags", "--all"
586  and "--glob=<pattern>").  Now they have one.
588  Will merge to 'master'.
591 * jk/replace-perl-in-built-scripts (2013-10-29) 1 commit
592   (merged to 'next' on 2013-11-01 at 2384e29)
593  + use @@PERL@@ in built scripts
595  Will merge to 'master'.
598 * jh/loose-object-dirs-creation-race (2013-10-28) 1 commit
599   (merged to 'next' on 2013-11-01 at 3169b0f)
600  + sha1_file.c:create_tmpfile(): Fix race when creating loose object dirs
602  Will merge to 'master'.
605 * th/reflog-annotated-tag (2013-10-28) 1 commit
606   (merged to 'next' on 2013-11-01 at 8b154cc)
607  + reflog: handle lightweight and annotated tags equally
609  "git log -g $annotated_tag", when there is no reflog history, should
610  have produced a single output entry (i.e. the ref creation event),
611  but instead showed the history leading to the tag.
613  Broken at the design level.  Any reflog entry that points at a non
614  commit needs to be handled with new code that does not exist yet,
615  and lifting the "this code handles only commits" without adding
616  such code does not solve anything.
618  Will discard.
621 * tr/merge-recursive-index-only (2013-10-28) 3 commits
622  - merge-recursive: -Xindex-only to leave worktree unchanged
623  - merge-recursive: internal flag to avoid touching the worktree
624  - merge-recursive: remove dead conditional in update_stages()
626  Will hold until using script appears.
629 * bc/http-100-continue (2013-10-31) 3 commits
630   (merged to 'next' on 2013-11-01 at e12ae23)
631  + remote-curl: fix large pushes with GSSAPI
632  + remote-curl: pass curl slot_results back through run_slot
633  + http: return curl's AUTHAVAIL via slot_results
635  Issue "100 Continue" responses to help use of GSS-Negotiate
636  authentication scheme over HTTP transport when needed.
638  Will merge to 'master'.
641 * jc/merge-base-reflog (2013-10-29) 2 commits
642   (merged to 'next' on 2013-11-01 at 6114764)
643  + merge-base: teach "--fork-point" mode
644  + merge-base: use OPT_CMDMODE and clarify the command line parsing
646  Code the logic in "pull --rebase" that figures out a fork point
647  from reflog entries in C.
649  Will merge to 'master'.
652 * jk/robustify-parse-commit (2013-10-24) 6 commits
653   (merged to 'next' on 2013-11-01 at 2bfbaab)
654  + checkout: do not die when leaving broken detached HEAD
655  + use parse_commit_or_die instead of custom message
656  + use parse_commit_or_die instead of segfaulting
657  + assume parse_commit checks for NULL commit
658  + assume parse_commit checks commit->object.parsed
659  + log_tree_diff: die when we fail to parse a commit
661  Will merge to 'master'.
664 * mh/fetch-tags-in-addition-to-normal-refs (2013-10-30) 23 commits
665   (merged to 'next' on 2013-11-06 at 6932893)
666  + fetch: improve the error messages emitted for conflicting refspecs
667  + handle_duplicate(): mark error message for translation
668  + ref_remote_duplicates(): extract a function handle_duplicate()
669  + ref_remove_duplicates(): simplify loop logic
670  + t5536: new test of refspec conflicts when fetching
671  + ref_remove_duplicates(): avoid redundant bisection
672  + git-fetch.txt: improve description of tag auto-following
673  + fetch-options.txt: simplify ifdef/ifndef/endif usage
674  + fetch, remote: properly convey --no-prune options to subprocesses
675  + builtin/remote.c:update(): use struct argv_array
676  + builtin/remote.c: reorder function definitions
677  + query_refspecs(): move some constants out of the loop
678  + fetch --prune: prune only based on explicit refspecs
679  + fetch --tags: fetch tags *in addition to* other stuff
680  + fetch: only opportunistically update references based on command line
681  + get_expanded_map(): avoid memory leak
682  + get_expanded_map(): add docstring
683  + builtin/fetch.c: reorder function definitions
684  + get_ref_map(): rename local variables
685  + api-remote.txt: correct section "struct refspec"
686  + t5510: check that "git fetch --prune --tags" does not prune branches
687  + t5510: prepare test refs more straightforwardly
688  + t5510: use the correct tag name in test
690  The "--tags" option to "git fetch" used to be literally a synonym to
691  a "refs/tags/*:refs/tags/*" refspec, which meant that (1) as an
692  explicit refspec given from the command line, it silenced the lazy
693  "git fetch" default that is configured, and (2) also as an explicit
694  refspec given from the command line, it interacted with "--prune"
695  to remove any tag that the remote we are fetching from does not
696  have.
698  This demotes it to an option; with it, we fetch all tags in
699  addition to what would be fetched without the option, and it does
700  not interact with the decision "--prune" makes to see what
701  remote-tracking refs the local has are missing the remote
702  counterpart.
704  Will cook in 'next'.
707 * nv/parseopt-opt-arg (2013-10-31) 2 commits
708   (merged to 'next' on 2013-11-01 at cd2afd9)
709  + rev-parse --parseopt: add the --stuck-long mode
710  + Use the word 'stuck' instead of 'sticked'
712  Enhance "rev-parse --parseopt" mode to help parsing options with
713  an optional parameter.
715  Will merge to 'master'.
718 * ak/submodule-foreach-quoting (2013-09-27) 1 commit
719   (merged to 'next' on 2013-10-14 at d77c5f1)
720  + submodule foreach: skip eval for more than one argument
722  A behavior change, but a worthwhile one: "git submodule foreach"
723  was treating its arguments as part of a single command to be
724  concatenated and passed to a shell, making writing buggy
725  scripts too easy.
727  This patch preserves the old "just pass it to the shell" behavior
728  when a single argument is passed to 'git submodule foreach' and
729  moves to a new "skip the shell and use the arguments passed
730  unmolested" behavior when more than one argument is passed.
732  The old behavior (always concatenating and passing to the shell)
733  was similar to the 'ssh' command, while the new behavior (switching
734  on the number of arguments) is what 'xterm -e' does.
736  May need more thought to make sure this change is advertised well
737  so that scripts that used multiple arguments but added their own
738  extra layer of quoting are not broken.
740  Will merge to 'master'.
743 * kb/fast-hashmap (2013-11-18) 14 commits
744  - read-cache.c: fix memory leaks caused by removed cache entries
745  - builtin/update-index.c: cleanup update_one
746  - fix 'git update-index --verbose --again' output
747  - remove old hash.[ch] implementation
748  - name-hash.c: remove cache entries instead of marking them CE_UNHASHED
749  - name-hash.c: use new hash map implementation for cache entries
750  - name-hash.c: remove unreferenced directory entries
751  - name-hash.c: use new hash map implementation for directories
752  - diffcore-rename.c: use new hash map implementation
753  - diffcore-rename.c: simplify finding exact renames
754  - diffcore-rename.c: move code around to prepare for the next patch
755  - buitin/describe.c: use new hash map implementation
756  - add a hashtable implementation that supports O(1) removal
757  - submodule: don't access the .gitmodules cache entry after removing it
759  Improvements to our hash table to get it to meet the needs of the
760  msysgit fscache project, with some nice performance improvements.
762  The preparatory clean-up to submodule from Jens is at the bottom. I
763  also squashed in a fix-up by Karsten found at $gmane/236468 (please
764  double-check the result).
766  Will merge to 'next'.
769 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
770   (merged to 'next' on 2013-10-28 at d8cdf30)
771  + git add: -u/-A now affects the entire working tree
773  Will cook in 'next' until Git 2.0.
776 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
777   (merged to 'next' on 2013-10-28 at f1bec96)
778  + core.statinfo: remove as promised in Git 2.0
780  Will cook in 'next' until Git 2.0.
783 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
784   (merged to 'next' on 2013-10-28 at 3153a9e)
785  + push: switch default from "matching" to "simple"
787  Will cook in 'next' until Git 2.0.
790 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
791   (merged to 'next' on 2013-10-28 at 5fd76ec)
792  + git add <pathspec>... defaults to "-A"
794  Updated endgame for "git add <pathspec>" that defaults to "--all"
795  aka "--no-ignore-removal".
797  Will cook in 'next' until Git 2.0.
800 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
801   (merged to 'next' on 2013-11-01 at 5fc26e4)
802  + diff: remove "diff-files -q" in a version of Git in a distant future
804  Will cook in 'next' until a distant future.