1 To: git@vger.kernel.org
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
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)
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 --------------------------------------------------
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
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
157 * jk/t5000-gzip-simplify (2013-12-04) 1 commit
158 - t5000: simplify gzip prerequisite checks
163 * js/gnome-keyring (2013-12-04) 1 commit
164 - contrib/git-credential-gnome-keyring.c: small stylistic cleanups
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
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 --------------------------------------------------
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
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.
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
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.
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 --------------------------------------------------
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
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
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
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
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
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
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
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
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"
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.
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
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
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
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.