1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Dec 2013, #03; Thu, 12)
4 X-master-at: d7aced95cd681b761468635f8d2a8b82d7ed26fd
5 X-next-at: aaad5e77ff44962de7a1fccb0c9def6b6dd228aa
7 What's cooking in git.git (Dec 2013, #03; Thu, 12)
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 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 --------------------------------------------------
22 * bc/doc-merge-no-op-revert (2013-12-09) 1 commit
23 - Documentation: document pitfalls with 3-way merge
28 * cc/replace-object-info (2013-12-12) 10 commits
29 - Documentation/git-replace: describe --format option
30 - builtin/replace: unset read_replace_refs
31 - t6050: add tests for listing with --format
32 - builtin/replace: teach listing using short, medium or full formats
33 - sha1_file: perform object replacement in sha1_object_info_extended()
34 - t6050: show that git cat-file --batch fails with replace objects
35 - sha1_object_info_extended(): add an "unsigned flags" parameter
36 - sha1_file.c: add lookup_replace_object_extended() to pass flags
37 - replace_object: don't check read_replace_refs twice
38 - rename READ_SHA1_FILE_REPLACE flag to LOOKUP_REPLACE_OBJECT
40 read_sha1_file() that is the workhorse to read the contents given
41 an object name honoured object replacements, but there is no
42 corresponding mechanism to sha1_object_info() that is used to
43 obtain the metainfo (e.g. type & size) about the object, leading
44 callers to weird inconsistencies.
49 * fc/completion (2013-12-09) 1 commit
50 - completion: fix completion of certain aliases
55 * fc/remote-helper-fixes (2013-12-09) 4 commits
56 - remote-hg: add tests for special filenames
57 - remote-hg: fix 'shared path' path
58 - remote-helpers: add extra safety checks
59 - remote-hg: avoid buggy strftime()
64 * fc/trivial (2013-12-09) 4 commits
65 - remote: fix status with branch...rebase=preserve
66 - fetch: add missing documentation
67 - t: trivial whitespace cleanups
68 - abspath: trivial style fix
73 * jk/cat-file-regression-fix (2013-12-12) 2 commits
74 - cat-file: handle --batch format with missing type/size
75 - cat-file: pass expand_data to print_object_or_die
80 * jk/pull-rebase-using-fork-point (2013-12-10) 2 commits
81 - rebase: use reflog to find common base with upstream
82 - pull: use merge-base --fork-point when appropriate
87 * jk/rev-parse-double-dashes (2013-12-09) 2 commits
88 - rev-parse: be more careful with munging arguments
89 - rev-parse: correctly diagnose revision errors before "--"
91 "git rev-parse <revs> -- <paths>" did not implement the usual
92 disambiguation rules the commands in the "git log" family used in
98 * mo/subtree-split-updates (2013-12-10) 3 commits
99 - subtree: add --edit option
100 - subtree: allow --squash and --message with push
101 - subtree: support split --rejoin --squash
106 * nd/remove-opt-boolean (2013-12-09) 1 commit
107 - parse-options: remove OPT_BOOLEAN
109 Will merge to 'next'.
112 * nd/shallow-clone (2013-12-10) 28 commits
113 - git-clone.txt: remove shallow clone limitations
114 - prune: clean .git/shallow after pruning objects
115 - clone: use git protocol for cloning shallow repo locally
116 - send-pack: support pushing from a shallow clone via http
117 - receive-pack: support pushing to a shallow clone via http
118 - smart-http: support shallow fetch/clone
119 - remote-curl: pass ref SHA-1 to fetch-pack as well
120 - send-pack: support pushing to a shallow clone
121 - receive-pack: allow pushes that update .git/shallow
122 - connected.c: add new variant that runs with --shallow-file
123 - add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
124 - receive/send-pack: support pushing from a shallow clone
125 - receive-pack: reorder some code in unpack()
126 - fetch: add --update-shallow to accept refs that update .git/shallow
127 - upload-pack: make sure deepening preserves shallow roots
128 - fetch: support fetching from a shallow repository
129 - clone: support remote shallow repository
130 - fetch-pack.h: one statement per bitfield declaration
131 - fetch-pack.c: move shallow update code out of fetch_pack()
132 - shallow.c: steps 6 and 7 to select new commits for .git/shallow
133 - shallow.c: the 8 steps to select new commits for .git/shallow
134 - shallow.c: extend setup_*_shallow() to accept extra shallow commits
135 - connect.c: teach get_remote_heads to parse "shallow" lines
136 - make the sender advertise shallow commits to the receiver
137 - clone: prevent --reference to a shallow repository
138 - send-pack: forbid pushing from a shallow repository
139 - remote.h: replace struct extra_have_objects with struct sha1_array
140 - transport.h: remove send_pack prototype, already defined in send-pack.h
142 Fetching from a shallow-cloned repository used to be forbidden,
143 primarily because the codepaths involved were not carefully vetted
144 and we did not bother supporting such usage. This attempts to allow
145 object transfer out of a shallow-cloned repository in a controlled
146 way (i.e. the receiver become a shallow repository with truncated
150 * tg/diff-no-index-refactor (2013-12-12) 2 commits
151 - diff: don't read index when --no-index is given
152 - diff: move no-index detection to builtin/diff.c
154 "git diff ../else/where/A ../else/where/B" when ../else/where is
155 clearly outside the repository, and "git diff --no-index A B", do
156 not have to look at the index at all, but we used to read the index
159 Will merge to 'next'.
162 * hv/submodule-ignore-fix (2013-12-06) 4 commits
163 - disable complete ignorance of submodules for index <-> HEAD diff
164 - always show committed submodules in summary after commit
165 - teach add -f option for ignored submodules
166 - fix 'git add' to skip submodules configured as ignored
168 Teach "git add" to be consistent with "git status" when changes to
169 submodules are set to be ignored, to avoid surprises after checking
170 with "git status" to see there isn't any change to be further added
171 and then see that "git add ." adds changes to them.
173 I think a reroll is coming, so this may need to be replaced, but I
174 needed some practice with heavy conflict resolution. It conflicts
175 with two changes to "git add" that have been scheduled for Git 2.0
176 quite badly, and I think I got the resolution right this time (a
177 few nights ago I tried and failed and that was why it hasn't been
178 merged to 'pu' so far).
180 --------------------------------------------------
181 [Graduated to "master"]
183 * cl/p4-use-diff-tree (2013-11-22) 1 commit
184 (merged to 'next' on 2013-12-06 at fc3c89e)
185 + git p4: Use git diff-tree instead of format-patch
187 Originally merged to 'next' on 2013-11-27
190 * cn/thin-push-capability (2013-11-25) 1 commit
191 (merged to 'next' on 2013-12-06 at a7ae524)
192 + send-pack: don't send a thin pack to a server which doesn't support it
194 Allow receive-pack to insist on receiving a fat pack from "git
198 * jk/remove-deprecated (2013-12-05) 6 commits
199 (merged to 'next' on 2013-12-06 at c0c91a2)
201 + stop installing git-tar-tree link
202 + peek-remote: remove deprecated alias of ls-remote
203 + lost-found: remove deprecated command
204 + tar-tree: remove deprecated command
205 + repo-config: remove deprecated alias for "git config"
206 (this branch is used by cc/starts-n-ends-with and cc/starts-n-ends-with-endgame.)
208 Remove commands that have long been deprecated.
211 * jn/scripts-updates (2013-11-26) 7 commits
212 (merged to 'next' on 2013-12-06 at 60a7026)
213 + remove #!interpreter line from shell libraries
214 + test: replace shebangs with descriptions in shell libraries
215 + test: make FILEMODE a lazy prereq
216 + contrib: remove git-p4import
217 + mark contributed hooks executable
218 + mark perl test scripts executable
219 + mark Windows build scripts executable
222 * mh/fetch-tags-in-addition-to-normal-refs (2013-10-30) 23 commits
223 (merged to 'next' on 2013-12-06 at 3b9c44a)
224 + fetch: improve the error messages emitted for conflicting refspecs
225 + handle_duplicate(): mark error message for translation
226 + ref_remote_duplicates(): extract a function handle_duplicate()
227 + ref_remove_duplicates(): simplify loop logic
228 + t5536: new test of refspec conflicts when fetching
229 + ref_remove_duplicates(): avoid redundant bisection
230 + git-fetch.txt: improve description of tag auto-following
231 + fetch-options.txt: simplify ifdef/ifndef/endif usage
232 + fetch, remote: properly convey --no-prune options to subprocesses
233 + builtin/remote.c:update(): use struct argv_array
234 + builtin/remote.c: reorder function definitions
235 + query_refspecs(): move some constants out of the loop
236 + fetch --prune: prune only based on explicit refspecs
237 + fetch --tags: fetch tags *in addition to* other stuff
238 + fetch: only opportunistically update references based on command line
239 + get_expanded_map(): avoid memory leak
240 + get_expanded_map(): add docstring
241 + builtin/fetch.c: reorder function definitions
242 + get_ref_map(): rename local variables
243 + api-remote.txt: correct section "struct refspec"
244 + t5510: check that "git fetch --prune --tags" does not prune branches
245 + t5510: prepare test refs more straightforwardly
246 + t5510: use the correct tag name in test
248 Originally merged to 'next' on 2013-11-06
250 The "--tags" option to "git fetch" used to be literally a synonym to
251 a "refs/tags/*:refs/tags/*" refspec, which meant that (1) as an
252 explicit refspec given from the command line, it silenced the lazy
253 "git fetch" default that is configured, and (2) also as an explicit
254 refspec given from the command line, it interacted with "--prune"
255 to remove any tag that the remote we are fetching from does not
258 This demotes it to an option; with it, we fetch all tags in
259 addition to what would be fetched without the option, and it does
260 not interact with the decision "--prune" makes to see what
261 remote-tracking refs the local has are missing the remote
265 * rs/doc-submitting-patches (2013-11-27) 1 commit
266 (merged to 'next' on 2013-12-06 at 0628818)
267 + SubmittingPatches: document how to handle multiple patches
270 * tr/commit-slab-cleanup (2013-12-02) 3 commits
271 (merged to 'next' on 2013-12-06 at faee247)
272 + commit-slab: sizeof() the right type in xrealloc
273 + commit-slab: declare functions "static inline"
274 + commit-slab: document clear_$slabname()
277 * tr/config-multivalue-lift-max (2013-12-06) 1 commit
278 (merged to 'next' on 2013-12-06 at 92afee2)
279 + config: arbitrary number of matches for --unset and --replace-all
282 * tr/doc-git-cherry (2013-11-27) 1 commit
283 (merged to 'next' on 2013-12-06 at 9a1ba7a)
284 + Documentation: revamp git-cherry(1)
286 --------------------------------------------------
289 * jc/create-directories-microopt (2013-11-11) 1 commit
290 - checkout: most of the time we have good leading directories
292 Of unknown value until tested on non-Linux platforms (especially
298 * nv/commit-gpgsign-config (2013-11-06) 1 commit
299 - Add the commit.gpgsign option to sign all commits
301 Introduce commit.gpgsign configuration variable to force every
302 commit to be GPG signed.
304 Needs tests, perhaps?
307 * jt/commit-fixes-footer (2013-10-30) 1 commit
308 - commit: Add -f, --fixes <commit> option to add Fixes: line
310 There is an ongoing discussion around this topic; in general I am
311 fairly negative on a new feature that is too narrow and prefer a
312 more generic solution that can be tailored for specific needs, as
313 many people stated in the thread.
315 It appears that the discussion stalled.
318 * np/pack-v4 (2013-09-18) 90 commits
319 . packv4-parse.c: add tree offset caching
320 . t1050: replace one instance of show-index with verify-pack
321 . index-pack, pack-objects: allow creating .idx v2 with .pack v4
322 . unpack-objects: decode v4 trees
323 . unpack-objects: allow to save processed bytes to a buffer
326 Nico and Duy advancing the eternal vaporware pack-v4. This is here
327 primarily for wider distribution of the preview edition.
329 Temporarily ejected from 'pu', to try out jk/pack-bitmap, which
330 this topic conflicts with.
333 * jk/pack-bitmap (2013-11-18) 22 commits
334 - compat/mingw.h: Fix the MinGW and msvc builds
335 - pack-bitmap: implement optional name_hash cache
336 - t/perf: add tests for pack bitmaps
337 - t: add basic bitmap functionality tests
338 - count-objects: recognize .bitmap in garbage-checking
339 - repack: consider bitmaps when performing repacks
340 - repack: handle optional files created by pack-objects
341 - repack: turn exts array into array-of-struct
342 - repack: stop using magic number for ARRAY_SIZE(exts)
343 - pack-objects: implement bitmap writing
344 - rev-list: add bitmap mode to speed up object lists
345 - pack-objects: use bitmaps when packing objects
346 - pack-bitmap: add support for bitmap indexes
347 - documentation: add documentation for the bitmap format
348 - ewah: compressed bitmap implementation
349 - compat: add endianness helpers
350 - sha1_file: export `git_open_noatime`
351 - revision: allow setting custom limiter function
352 - pack-objects: factor out name_hash
353 - pack-objects: refactor the packing list
354 - revindex: export new APIs
355 + sha1write: make buffer const-correct
356 (this branch is tangled with jk/name-pack-after-byte-representation.)
358 Borrows the bitmap index into packfiles from JGit to speed up
359 enumeration of objects involved in a commit range without having to
360 fully traverse the history.
362 A reroll forthcoming?
365 * mf/graph-show-root (2013-10-25) 1 commit
366 . graph.c: mark root commit differently
368 In a repository with multiple-roots, "log --graph", especially with
369 "--oneline", does not give the reader enough visual cue to see
370 where one line of history ended and a separate history began.
372 This is the version that marks the roots 'x' when they would have
373 been marked as '*'; Keshav Kini suggested an alternative of giving
374 an extra blank line after every root, which I tend to think is a
375 better approach to the problem.
378 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
379 - perf-lib: add test_perf_cleanup target
380 - perf-lib: split starting the test from the execution
382 Add test_perf_cleanup shell function to the perf suite, that allows
383 the script writers to define a test with a clean-up action.
385 Holding until needed.
388 * yt/shortened-rename (2013-10-18) 2 commits
389 - SQUASH??? style fixes and s/omit/shorten/ where appropriate
390 - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
392 Attempts to give more weight on the fact that a filepair represents
393 a rename than showing substring of the actual path when diffstat
394 lines are not wide enough.
396 I am not sure if that is solving a right problem, though.
399 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
400 - git-send-email: Cache generated message-ids, use them when prompting
401 - git-send-email: add optional 'choices' parameter to the ask sub
404 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
405 - ### DONTMERGE: needs better explanation on what config they need
406 - pack-refs.c: Add missing call to git_config()
407 - show-ref.c: Add missing call to git_config()
409 The changes themselves are probably good, but it is unclear what
410 basic setting needs to be read for which exact operation.
412 Waiting for clarification.
416 * jc/format-patch (2013-04-22) 2 commits
417 - format-patch: --inline-single
418 - format-patch: rename "no_inline" field
420 A new option to send a single patch to the standard output to be
421 appended at the bottom of a message. I personally have no need for
422 this, but it was easy enough to cobble together. Tests, docs and
423 stripping out more MIMEy stuff are left as exercises to interested
427 * jk/gitweb-utf8 (2013-04-08) 4 commits
428 - gitweb: Fix broken blob action parameters on blob/commitdiff pages
429 - gitweb: Don't append ';js=(0|1)' to external links
430 - gitweb: Make feed title valid utf8
431 - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
433 Various fixes to gitweb.
435 Drew Northup volunteered to take a look into this.
439 * jc/show-branch (2013-06-07) 5 commits
440 - show-branch: use commit slab to represent bitflags of arbitrary width
441 - show-branch.c: remove "all_mask"
442 - show-branch.c: abstract out "flags" operation
443 - show-branch.c: lift all_mask/all_revs to a global static
444 - show-branch.c: update comment style
446 Waiting for the final step to lift the hard-limit before sending it out.
448 --------------------------------------------------
451 * fc/transport-helper-fixes (2013-12-09) 6 commits
452 - remote-bzr: support the new 'force' option
453 - test-hg.sh: tests are now expected to pass
454 - transport-helper: check for 'forced update' message
455 - transport-helper: add 'force' to 'export' helpers
456 - transport-helper: don't update refs in dry-run
457 - transport-helper: mismerge fix
459 Updates transport-helper, fast-import and fast-export to allow the
460 ref mapping and ref deletion in a way similar to the natively
461 supported transports.
463 Will merge to 'next'.
466 * jn/git-gui-chmod+x (2013-11-25) 1 commit
467 - git-gui: chmod +x po2msg, windows/git-gui.sh
469 Parked here until I get the same change back from the upstream
473 * jn/gitk-chmod+x (2013-11-25) 1 commit
474 - gitk: chmod +x po2msg
476 Parked here until I get the same change back from the upstream gitk
480 * jk/name-pack-after-byte-representation (2013-12-05) 2 commits
481 (merged to 'next' on 2013-12-09 at 247b2d0)
482 + pack-objects: name pack files after trailer hash
483 + sha1write: make buffer const-correct
484 (this branch is tangled with jk/pack-bitmap.)
486 Two packfiles that contain the same set of objects have
487 traditionally been named identically, but that made repacking a
488 repository that is already fully packed without any cruft with a
489 different packing parameter cumbersome. Update the convention to
490 name the packfile after the bytestream representation of the data,
491 not after the set of objects in it.
493 Will merge to 'master'.
496 * nd/negative-pathspec (2013-12-06) 3 commits
497 (merged to 'next' on 2013-12-12 at 9f340c8)
498 + pathspec.c: support adding prefix magic to a pathspec with mnemonic magic
499 + Support pathspec magic :(exclude) and its short form :!
500 + glossary-content.txt: rephrase magic signature part
502 Introduce "negative pathspec" magic, to allow "git log . ':!dir'" to
503 tell us "I am interested in everything but 'dir' directory".
506 * nd/transport-positive-depth-only (2013-12-06) 1 commit
507 (merged to 'next' on 2013-12-12 at f953cb8)
508 + clone,fetch: catch non positive --depth option value
510 "git fetch --depth=0" was a no-op, and was silently
511 ignored. Diagnose it as an error.
514 * zk/difftool-counts (2013-12-06) 1 commit
515 (merged to 'next' on 2013-12-12 at ba35694)
516 + difftool: display the number of files in the diff queue in the prompt
518 Show the total number of paths and the number of paths shown so far
519 when "git difftool" prompts to launch an external diff tool, which
520 would give users some sense of progress.
523 * jl/commit-v-strip-marker (2013-12-05) 1 commit
524 (merged to 'next' on 2013-12-09 at 2b85e9e)
525 + commit -v: strip diffs and submodule shortlogs from the commit message
527 "git commit -v" appends the patch to the log message before
528 editing, and then removed the patch when the editor returned
529 control. However, the patch was not stripped correctly when the
530 first modified path was a submodule.
533 * cc/starts-n-ends-with (2013-12-05) 4 commits
534 (merged to 'next' on 2013-12-12 at 76ee567)
535 + replace {pre,suf}fixcmp() with {starts,ends}_with()
536 + strbuf: introduce starts_with() and ends_with()
537 + builtin/remote: remove postfixcmp() and use suffixcmp() instead
538 + environment: normalize use of prefixcmp() by removing " != 0"
539 (this branch is used by cc/starts-n-ends-with-endgame.)
541 Remove a few duplicate implementations of prefix/suffix comparison
542 functions, and rename them to starts_with and ends_with.
545 * cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
546 - strbuf: remove prefixcmp() and suffixcmp()
547 (this branch uses cc/starts-n-ends-with.)
549 Endgame for the above topic, that needs to be evil-merged with
550 other topics that introduce new uses of prefix/suffix-cmp
554 * jc/push-refmap (2013-12-04) 3 commits
555 (merged to 'next' on 2013-12-12 at 71e358f)
556 + push: also use "upstream" mapping when pushing a single ref
557 + push: use remote.$name.push as a refmap
558 + builtin/push.c: use strbuf instead of manual allocation
560 Make "git push origin master" update the same ref that would be
561 updated by our 'master' when "git push origin" (no refspecs) is run
562 while the 'master' branch is checked out, which makes "git push"
563 more symmetric to "git fetch" and more usable for the triangular
567 * jk/t5000-gzip-simplify (2013-12-04) 1 commit
568 (merged to 'next' on 2013-12-09 at e9010f1)
569 + t5000: simplify gzip prerequisite checks
574 * js/gnome-keyring (2013-12-04) 1 commit
575 - contrib/git-credential-gnome-keyring.c: small stylistic cleanups
580 * kn/gitweb-extra-branch-refs (2013-12-12) 4 commits
581 (merged to 'next' on 2013-12-12 at ae75b02)
582 + gitweb: Denote non-heads, non-remotes branches
583 + gitweb: Add a feature for adding more branch refs
584 + gitweb: Return 1 on validation success instead of passed input
585 + gitweb: Move check-ref-format code into separate function
587 Allow gitweb to be configured to show refs out of refs/heads/ as if
591 * mm/mv-file-to-no-such-dir-with-slash (2013-12-04) 1 commit
592 (merged to 'next' on 2013-12-09 at f33bc0b)
593 + mv: let 'git mv file no-such-dir/' error out
596 * nd/gettext-vsnprintf (2013-12-04) 1 commit
597 (merged to 'next' on 2013-12-09 at e99106e)
598 + gettext.c: detect the vsnprintf bug at runtime
601 * tr/send-email-ssl (2013-12-04) 3 commits
602 (merged to 'next' on 2013-12-09 at facb859)
603 + send-email: set SSL options through IO::Socket::SSL::set_client_defaults
604 + send-email: --smtp-ssl-cert-path takes an argument
605 + send-email: pass Debug to Net::SMTP::SSL::new
607 SSL-related options were not passed correctly to underlying socket
608 layer in "git send-email".
611 * tb/clone-ssh-with-colon-for-port (2013-12-09) 10 commits
612 (merged to 'next' on 2013-12-12 at ae4ae39)
613 + git_connect(): use common return point
614 + connect.c: refactor url parsing
615 + git_connect(): refactor the port handling for ssh
616 + git fetch: support host:/~repo
617 + t5500: add test cases for diag-url
618 + git fetch-pack: add --diag-url
619 + git_connect: factor out discovery of the protocol and its parts
620 + git_connect: remove artificial limit of a remote command
621 + t5601: add tests for ssh
622 + t5601: remove clear_ssh, refactor setup_ssh_wrapper
624 Be more careful when parsing remote repository URL given in the
625 scp-style host:path notation.
628 * kb/doc-exclude-directory-semantics (2013-12-09) 1 commit
629 (merged to 'next' on 2013-12-09 at e54b2ec)
630 + gitignore.txt: clarify recursive nature of excluded directories
632 Will merge to 'master'.
635 * gj/push-more-verbose-advice (2013-11-13) 1 commit
636 (merged to 'next' on 2013-12-06 at 574b18a)
637 + push: switch default from "matching" to "simple"
639 Originally merged to 'next' on 2013-11-21
641 Explain 'simple' and 'matching' in "git push" advice message; the
642 topmost patch is a rebase of jc/push-2.0-default-to-simple on top
648 * tr/merge-recursive-index-only (2013-10-28) 3 commits
649 - merge-recursive: -Xindex-only to leave worktree unchanged
650 - merge-recursive: internal flag to avoid touching the worktree
651 - merge-recursive: remove dead conditional in update_stages()
653 Will hold until using script appears.
656 * kb/fast-hashmap (2013-12-09) 15 commits
657 - hashmap.h: make sure map entries are tightly packed
658 (merged to 'next' on 2013-12-06 at f90be3d)
659 + read-cache.c: fix memory leaks caused by removed cache entries
660 + builtin/update-index.c: cleanup update_one
661 + fix 'git update-index --verbose --again' output
662 + remove old hash.[ch] implementation
663 + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
664 + name-hash.c: use new hash map implementation for cache entries
665 + name-hash.c: remove unreferenced directory entries
666 + name-hash.c: use new hash map implementation for directories
667 + diffcore-rename.c: use new hash map implementation
668 + diffcore-rename.c: simplify finding exact renames
669 + diffcore-rename.c: move code around to prepare for the next patch
670 + buitin/describe.c: use new hash map implementation
671 + add a hashtable implementation that supports O(1) removal
672 + submodule: don't access the .gitmodules cache entry after removing it
674 Improvements to our hash table to get it to meet the needs of the
675 msysgit fscache project, with some nice performance improvements.
677 The tip one does not seem to have reached concensus (yet).
680 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
681 (merged to 'next' on 2013-12-06 at ead2ec8)
682 + git add: -u/-A now affects the entire working tree
684 Will cook in 'next' until Git 2.0.
687 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
688 (merged to 'next' on 2013-12-06 at ae18007)
689 + core.statinfo: remove as promised in Git 2.0
691 Will cook in 'next' until Git 2.0.
694 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
695 (merged to 'next' on 2013-12-06 at 6fad61c)
696 + push: switch default from "matching" to "simple"
698 Will cook in 'next' until Git 2.0.
701 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
702 (merged to 'next' on 2013-12-06 at fbaa75a)
703 + git add <pathspec>... defaults to "-A"
705 Updated endgame for "git add <pathspec>" that defaults to "--all"
706 aka "--no-ignore-removal".
708 Will cook in 'next' until Git 2.0.
711 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
712 (merged to 'next' on 2013-12-06 at 083d67c)
713 + diff: remove "diff-files -q" in a version of Git in a distant future
715 Will cook in 'next' until a distant future.
717 --------------------------------------------------
720 * aa/transport-non-positive-depth-only (2013-11-26) 1 commit
721 . transport: catch non positive --depth option value
724 * cc/remote-remove-redundant-postfixcmp (2013-11-06) 2 commits
725 . Rename suffixcmp() to has_suffix() and invert its result
726 . builtin/remote: remove postfixcmp() and use suffixcmp() instead
729 * th/reflog-annotated-tag (2013-10-28) 1 commit
730 . reflog: handle lightweight and annotated tags equally
732 "git log -g $annotated_tag", when there is no reflog history, should
733 have produced a single output entry (i.e. the ref creation event),
734 but instead showed the history leading to the tag.
736 Broken at the design level. Any reflog entry that points at a non
737 commit needs to be handled with new code that does not exist yet,
738 and lifting the "this code handles only commits" without adding
739 such code does not solve anything.