1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Mar 2014, #02; Tue, 11)
4 X-master-at: 384364b5f1aa0c3b7610a1b3c9eca2c210e61b41
5 X-next-at: d838d6f000d8078a1e28d6780f767cb925fb2632
7 What's cooking in git.git (Mar 2014, #02; Tue, 11)
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 Topics that have been cooking in 'next' for 2.0 have been merged to
15 'master', which means we are committed to make the next one a big
16 release. Kind of scary, isn't 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 * cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
27 (merged to 'next' on 2014-02-25 at 473e143)
28 + strbuf: remove prefixcmp() and suffixcmp()
30 Originally merged to 'next' on 2014-01-07
32 Endgame for the cc/starts-n-ends-with topic; this needs to be
33 evil-merged with other topics that introduce new uses of
34 prefix/suffix-cmp functions.
37 * gj/push-more-verbose-advice (2013-11-13) 1 commit
38 (merged to 'next' on 2014-02-25 at 1cd10b0)
39 + push: switch default from "matching" to "simple"
41 Originally merged to 'next' on 2013-11-21
43 Explain 'simple' and 'matching' in "git push" advice message; the
44 topmost patch is a rebase of jc/push-2.0-default-to-simple on top
48 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
49 (merged to 'next' on 2014-02-25 at a0d018a)
50 + git add <pathspec>... defaults to "-A"
52 Originally merged to 'next' on 2013-12-06
54 Updated endgame for "git add <pathspec>" that defaults to "--all"
55 aka "--no-ignore-removal".
58 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
59 (merged to 'next' on 2014-02-25 at 62f6aeb)
60 + core.statinfo: remove as promised in Git 2.0
62 Originally merged to 'next' on 2013-12-06
65 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
66 (merged to 'next' on 2014-02-25 at ccfff88)
67 + diff: remove "diff-files -q" in a version of Git in a distant future
69 Originally merged to 'next' on 2013-12-06
71 Remove deprecated "-q" option "git diff-files".
74 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
75 (merged to 'next' on 2014-02-25 at 1f0e178)
76 + push: switch default from "matching" to "simple"
78 Originally merged to 'next' on 2013-12-06
81 * jk/run-network-tests-by-default (2014-02-14) 1 commit
82 (merged to 'next' on 2014-02-25 at 62a8ad0)
83 + tests: turn on network daemon tests by default
85 Originally merged to 'next' on 2014-02-20
87 Teach "make test" to run networking tests when possible by default.
90 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
91 (merged to 'next' on 2014-02-25 at 9e5c0d2)
92 + git add: -u/-A now affects the entire working tree
94 Originally merged to 'next' on 2013-12-06
97 * ks/combine-diff (2014-02-24) 6 commits
98 (merged to 'next' on 2014-02-25 at 69e5a87)
99 + tests: add checking that combine-diff emits only correct paths
100 + combine-diff: simplify intersect_paths() further
101 + combine-diff: combine_diff_path.len is not needed anymore
102 + combine-diff: optimize combine_diff_path sets intersection
103 + diff test: add tests for combine-diff with orderfile
104 + diffcore-order: export generic ordering interface
105 (this branch is used by ks/tree-diff-nway.)
107 Originally merged to 'next' on 2014-02-20
109 Teach combine-diff to honour the path-output-order imposed by
110 diffcore-order, and optimize how matching paths are found in
111 the N-way diffs made with parents.
114 * nd/daemonize-gc (2014-02-10) 2 commits
115 (merged to 'next' on 2014-02-25 at f592335)
116 + gc: config option for running --auto in background
117 + daemon: move daemonize() to libgit.a
119 Originally merged to 'next' on 2014-02-20
121 Allow running "gc --auto" in the background.
123 --------------------------------------------------
126 * jk/detect-push-typo-early (2014-03-05) 3 commits
127 - push: detect local refspec errors early
128 - match_explicit_lhs: allow a "verify only" mode
129 - match_explicit: hoist refspec lhs checks into their own function
131 Catch "git push $there no-such-branch" early.
133 Will merge to 'next'.
136 * jk/diff-funcname-cpp-regex (2014-03-05) 1 commit
137 - diff: simplify cpp funcname regex
139 Has the discussion settled on this?
142 * jk/doc-deprecate-grafts (2014-03-05) 1 commit
143 - docs: mark info/grafts as outdated
145 Will merge to 'next'.
148 * rm/strchrnul-not-strlen (2014-03-10) 1 commit
149 - use strchrnul() in place of strchr() and strlen()
151 Will merge to 'next'.
154 * sh/use-hashcpy (2014-03-06) 1 commit
155 - Use hashcpy() when copying object names
157 Will merge to 'next'.
160 * jc/no-need-for-env-in-sh-scripts (2014-03-06) 1 commit
161 - *.sh: drop useless use of "env"
163 Will merge to 'next'.
166 * jc/tag-contains-with (2014-03-07) 1 commit
167 - tag: grok "--with" as synonym to "--contains"
169 Will merge to 'next'.
172 * bp/commit-p-editor (2014-03-11) 8 commits
173 - run-command: mark run_hook_with_custom_index as deprecated
174 - merge hook tests: fix and update tests
175 - merge: fix GIT_EDITOR override for commit hook
176 - commit: fix patch hunk editing with "commit -p -m"
178 - test patch hunk editing with "commit -p -m"
179 - merge hook tests: use 'test_must_fail' instead of '!'
180 - merge hook tests: fix missing '&&' in test
183 * cp/am-patch-format-doc (2014-03-11) 1 commit
184 - Documentation/git-am: Document supported --patch-format options
186 Will merge to 'next'.
189 * dm/configure-iconv-locale-charset (2014-03-11) 1 commit
190 - configure.ac: link with -liconv for locale_charset()
193 * jk/clean-d-pathspec (2014-03-11) 2 commits
194 - clean: simplify dir/not-dir logic
195 - clean: respect pathspecs with "-d"
197 "git clean -d pathspec" did not use pathspec correctly.
199 Will merge to 'next' and later down to 'maint'.
202 * jk/mv-submodules-fix (2014-03-11) 2 commits
203 - mv: prevent mismatched data when ignoring errors.
204 - builtin/mv: fix out of bounds write
209 * nd/upload-pack-shallow (2014-03-11) 1 commit
210 - upload-pack: send shallow info over stdin to pack-objects
212 Will merge to 'next'.
215 * rs/grep-h-c (2014-03-11) 2 commits
216 - grep: support -h (no header) with --count
217 - t7810: add missing variables to tests in loop
219 "git grep" learns to handle combination of "-h (no header)" and "-c
222 Will merge to 'next'.
224 --------------------------------------------------
227 * ap/remote-hg-skip-null-bookmarks (2014-01-02) 1 commit
228 - remote-hg: do not fail on invalid bookmarks
230 Reported to break tests ($gmane/240005)
234 * jk/warn-on-object-refname-ambiguity (2014-01-09) 6 commits
235 - get_sha1: drop object/refname ambiguity flag
236 - get_sha1: speed up ambiguous 40-hex test
237 - FIXUP: teach DO_FOR_EACH_NO_RECURSE to prime_ref_dir()
238 - refs: teach for_each_ref a flag to avoid recursion
239 - cat-file: fix a minor memory leak in batch_objects
240 - cat-file: refactor error handling of batch_objects
245 * jk/makefile (2014-02-05) 16 commits
247 - move LESS/LV pager environment to Makefile
248 - Makefile: teach scripts to include make variables
250 - Makefile: auto-build C strings from make variables
251 - Makefile: drop *_SQ variables
253 - Makefile: add c-quote helper function
254 - Makefile: introduce sq function for shell-quoting
255 - Makefile: always create files via make-var
256 - Makefile: store GIT-* sentinel files in MAKE/
257 - Makefile: prefer printf to echo for GIT-*
258 - Makefile: use tempfile/mv strategy for GIT-*
259 - Makefile: introduce make-var helper function
260 - Makefile: fix git-instaweb dependency on gitweb
261 - Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
263 Simplify the Makefile rules and macros that exist primarily for
264 quoting purposes, and make it easier to robustly express the
270 * kb/fast-hashmap-pack-struct (2014-02-24) 1 commit
271 - hashmap.h: make sure map entries are tightly packed
273 I am inclined to drop this; an alternative is to replace it with
274 the "more portable" one that uses #pragma, which I am willing to
275 try doing so on 'pu', though.
278 * po/everyday-doc (2014-01-27) 1 commit
279 - Make 'git help everyday' work
281 This may make the said command to emit something, but the source is
282 not meant to be formatted into a manual pages to begin with, and
283 also its contents are a bit stale. It may be a good first step in
284 the right direction, but needs more work to at least get the
285 mark-up right before public consumption.
290 * jk/branch-at-publish-rebased (2014-01-17) 5 commits
291 - t1507 (rev-parse-upstream): fix typo in test title
292 - implement @{publish} shorthand
293 - branch_get: provide per-branch pushremote pointers
294 - branch_get: return early on error
295 - sha1_name: refactor upstream_mark
297 Give an easier access to the tracking branches from "other" side in
298 a triangular workflow by introducing B@{publish} that works in a
299 similar way to how B@{upstream} does.
301 Meant to be used as a basis for whatever Ram wants to build on.
306 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
307 - merge: drop unused arg from abort_commit method signature
308 - merge: make prepare_to_commit responsible for write_merge_state
309 - t7505: ensure cleanup after hook blocks merge
310 - t7505: add missing &&
312 Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
313 run during "git merge". The log message stresses too much on one
314 hook, prepare-commit-msg, but it would equally apply to other hooks
315 like post-merge, I think.
317 Waiting for a reroll.
320 * jl/submodule-recursive-checkout (2013-12-26) 5 commits
321 - Teach checkout to recursively checkout submodules
322 - submodule: teach unpack_trees() to update submodules
323 - submodule: teach unpack_trees() to repopulate submodules
324 - submodule: teach unpack_trees() to remove submodule contents
325 - submodule: prepare for recursive checkout of submodules
330 * jc/graph-post-root-gap (2013-12-30) 3 commits
331 - WIP: document what we want at the end
332 - graph: remove unused code a bit
333 - graph: stuff the current commit into graph->columns[]
335 This was primarily a RFH ($gmane/239580).
338 * fc/completion (2013-12-09) 1 commit
339 - completion: fix completion of certain aliases
341 SZEDER Gábor noticed that this breaks "git -c var=val alias" and
342 also suggested a better description of the change.
344 Has been stalled for a while without much comments from anybody
350 * mo/subtree-split-updates (2013-12-10) 3 commits
351 - subtree: add --edit option
352 - subtree: allow --squash and --message with push
353 - subtree: support split --rejoin --squash
355 Has been stalled for a while without much comments from anybody
361 * hv/submodule-ignore-fix (2013-12-06) 4 commits
362 - disable complete ignorance of submodules for index <-> HEAD diff
363 - always show committed submodules in summary after commit
364 - teach add -f option for ignored submodules
365 - fix 'git add' to skip submodules configured as ignored
367 Teach "git add" to be consistent with "git status" when changes to
368 submodules are set to be ignored, to avoid surprises after checking
369 with "git status" to see there isn't any change to be further added
370 and then see that "git add ." adds changes to them.
372 I think a reroll is coming, so this may need to be replaced, but I
373 needed some practice with heavy conflict resolution. It conflicts
374 with two changes to "git add" that have been scheduled for Git 2.0
375 quite badly, and I think I got the resolution right this time.
377 Waiting for a reroll.
380 * jc/create-directories-microopt (2013-11-11) 1 commit
381 - checkout: most of the time we have good leading directories
383 Of unknown value until tested on non-Linux platforms (especially
389 * jt/commit-fixes-footer (2013-10-30) 1 commit
390 - commit: Add -f, --fixes <commit> option to add Fixes: line
392 There is an ongoing discussion around this topic; in general I am
393 fairly negative on a new feature that is too narrow and prefer a
394 more generic solution that can be tailored for specific needs, as
395 many people stated in the thread.
397 cc/interpret-trailers could be such a generic solution (although
398 there don't seem to be much concensus yet).
403 * np/pack-v4 (2013-09-18) 90 commits
404 . packv4-parse.c: add tree offset caching
405 . t1050: replace one instance of show-index with verify-pack
406 . index-pack, pack-objects: allow creating .idx v2 with .pack v4
407 . unpack-objects: decode v4 trees
408 . unpack-objects: allow to save processed bytes to a buffer
411 Nico and Duy advancing the eternal vaporware pack-v4. This is here
412 primarily for wider distribution of the preview edition.
414 Temporarily ejected from 'pu', to try out jk/pack-bitmap, which
415 this topic conflicts with.
418 * mf/graph-show-root (2013-10-25) 1 commit
419 . graph.c: mark root commit differently
421 In a repository with multiple-roots, "log --graph", especially with
422 "--oneline", does not give the reader enough visual cue to see
423 where one line of history ended and a separate history began.
425 This is the version that marks the roots 'x' when they would have
426 been marked as '*'; Keshav Kini suggested an alternative of giving
427 an extra blank line after every root, which I tend to think is a
428 better approach to the problem.
433 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
434 - perf-lib: add test_perf_cleanup target
435 - perf-lib: split starting the test from the execution
437 Add test_perf_cleanup shell function to the perf suite, that allows
438 the script writers to define a test with a clean-up action.
443 * yt/shortened-rename (2013-10-18) 2 commits
444 - SQUASH??? style fixes and s/omit/shorten/ where appropriate
445 - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
447 Attempts to give more weight on the fact that a filepair represents
448 a rename than showing substring of the actual path when diffstat
449 lines are not wide enough.
451 I am not sure if that is solving a right problem, though.
456 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
457 - git-send-email: Cache generated message-ids, use them when prompting
458 - git-send-email: add optional 'choices' parameter to the ask sub
463 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
464 - ### DONTMERGE: needs better explanation on what config they need
465 - pack-refs.c: Add missing call to git_config()
466 - show-ref.c: Add missing call to git_config()
468 The changes themselves are probably good, but it is unclear what
469 basic setting needs to be read for which exact operation.
471 Will discard, tired of waiting for clarification.
475 * jc/format-patch (2013-04-22) 2 commits
476 - format-patch: --inline-single
477 - format-patch: rename "no_inline" field
479 A new option to send a single patch to the standard output to be
480 appended at the bottom of a message. I personally have no need for
481 this, but it was easy enough to cobble together. Tests, docs and
482 stripping out more MIMEy stuff are left as exercises to interested
486 * jk/gitweb-utf8 (2013-04-08) 4 commits
487 - gitweb: Fix broken blob action parameters on blob/commitdiff pages
488 - gitweb: Don't append ';js=(0|1)' to external links
489 - gitweb: Make feed title valid utf8
490 - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
492 Various fixes to gitweb.
494 Drew Northup volunteered to take a look into this ($gmane/226216)
495 but nothing seems to have happened since then.
500 * jc/show-branch (2013-06-07) 5 commits
501 - show-branch: use commit slab to represent bitflags of arbitrary width
502 - show-branch.c: remove "all_mask"
503 - show-branch.c: abstract out "flags" operation
504 - show-branch.c: lift all_mask/all_revs to a global static
505 - show-branch.c: update comment style
507 Waiting for the final step to lift the hard-limit before sending it out.
509 --------------------------------------------------
512 * jc/stash-pop-not-popped (2014-02-26) 1 commit
513 - stash pop: mention we did not drop the stash upon failing to apply
515 "stash pop", upon failing to apply the stash, refrains from
516 discarding the stash to avoid information loss. Be more explicit
517 in the error message.
519 The wording may want to get a bit more bikeshedding, but otherwise
520 it should be OK for 'next'.
523 * bg/install-branch-config-skip-prefix (2014-03-06) 2 commits
524 - branch: use skip_prefix() in install_branch_config()
525 - t3200-branch: test setting branch as own upstream
527 Will merge to 'next'.
530 * cn/fetch-prune-overlapping-destination (2014-02-28) 2 commits
531 - fetch: handle overlaping refspecs on --prune
532 - fetch: add a failing test for prunning with overlapping refspecs
534 Protect refs in a hierarchy that can come from more than one remote
535 hierarcies from incorrect removal by "git fetch --prune".
540 * dd/find-graft-with-sha1-pos (2014-02-27) 1 commit
541 - commit.c: use the generic "sha1_pos" function for lookup
543 Replace a hand-rolled binary search with a call to our generic
544 binary search helper function.
546 Will merge to 'next'.
549 * dd/use-alloc-grow (2014-03-03) 14 commits
550 - sha1_file.c: use ALLOC_GROW() in pretend_sha1_file()
551 - read-cache.c: use ALLOC_GROW() in add_index_entry()
552 - builtin/mktree.c: use ALLOC_GROW() in append_to_tree()
553 - attr.c: use ALLOC_GROW() in handle_attr_line()
554 - dir.c: use ALLOC_GROW() in create_simplify()
555 - reflog-walk.c: use ALLOC_GROW()
556 - replace_object.c: use ALLOC_GROW() in register_replace_object()
557 - patch-ids.c: use ALLOC_GROW() in add_commit()
558 - diffcore-rename.c: use ALLOC_GROW()
559 - diff.c: use ALLOC_GROW()
560 - commit.c: use ALLOC_GROW() in register_commit_graft()
561 - cache-tree.c: use ALLOC_GROW() in find_subtree()
562 - bundle.c: use ALLOC_GROW() in add_to_ref_list()
563 - builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path()
565 Replace open-coded reallocation with ALLOC_GROW() macro.
567 Will merge to 'next'.
570 * dk/skip-prefix-scan-only-once (2014-03-03) 1 commit
571 - skip_prefix(): scan prefix only once
573 Updaste implementation of skip_prefix() to scan only once; given
574 that most "prefix" arguments to the inline function are constant
575 strings whose strlen() can be determined at the compile time, this
576 might actually make things worse with a compiler with sufficient
580 * jk/doc-coding-guideline (2014-02-28) 1 commit
581 (merged to 'next' on 2014-03-06 at c33101d)
582 + CodingGuidelines: mention C whitespace rules
584 Elaborate on a style niggle that has been part of "mimic existing
587 Will merge to 'master'.
590 * jk/shallow-update-fix (2014-02-27) 2 commits
591 - shallow: automatically clean up shallow tempfiles
592 - shallow: use stat_validity to check for up-to-date file
594 Serving objects from a shallow repository needs to write a
595 temporary file to be used, but the serving upload-pack may not have
596 write access to the repository which is meant to be read-only.
598 Will merge to 'next'.
601 * jl/doc-submodule-update-checkout (2014-02-28) 1 commit
602 (merged to 'next' on 2014-03-06 at 8cdf5cb)
603 + submodule update: consistently document the '--checkout' option
605 Add missing documentation for "submodule update --checkout".
607 Will merge to 'master'.
610 * jn/bisect-coding-style (2014-03-03) 1 commit
611 (merged to 'next' on 2014-03-06 at e1de2a5)
612 + git-bisect.sh: fix a few style issues
614 Will merge to 'master'.
617 * jn/branch-lift-unnecessary-name-length-limit (2014-03-05) 1 commit
618 - branch.c: delete size check of newly tracked branch names
620 Will merge to 'next'.
623 * mh/simplify-cache-tree-find (2014-03-05) 6 commits
624 - cache_tree_find(): use path variable when passing over slashes
625 - cache_tree_find(): remove early return
626 - cache_tree_find(): remove redundant check
627 - cache_tree_find(): fix comment formatting
628 - cache_tree_find(): find the end of path component using strchrnul()
629 - cache_tree_find(): remove redundant checks
631 Will merge to 'next'.
634 * nd/strbuf-inline-styles (2014-03-03) 1 commit
635 (merged to 'next' on 2014-03-06 at 70b5e56)
636 + strbuf: style fix -- top opening bracket on a separate line
638 Will merge to 'master'.
641 * nd/tag-version-sort (2014-02-27) 1 commit
642 - tag: support --sort=<spec>
644 Allow v1.9.0 sorted before v1.10.0 in "git tag --list" output.
646 Will merge to 'next'.
649 * rt/help-pretty-prints-cmd-names (2014-02-28) 1 commit
650 (merged to 'next' on 2014-03-06 at fc607dc)
651 + help.c: rename function "pretty_print_string_list"
653 Will merge to 'master'.
656 * sg/archive-restrict-remote (2014-02-28) 2 commits
657 (merged to 'next' on 2014-03-06 at 5fe8998)
658 + add uploadarchive.allowUnreachable option
659 + docs: clarify remote restrictions for git-upload-archive
661 Allow loosening remote "git archive" invocation security check that
662 refuses to serve tree-ish not at the tip of any ref.
664 Will merge to 'master'.
667 * sh/finish-tmp-packfile (2014-03-03) 2 commits
668 - finish_tmp_packfile():use strbuf for pathname construction
669 - Merge branch 'sh/write-pack-file-warning-message-fix' into sh/finish-tmp-packfile
670 (this branch uses sh/write-pack-file-warning-message-fix.)
672 Will merge to 'next'.
675 * sh/write-pack-file-warning-message-fix (2014-03-03) 1 commit
676 (merged to 'next' on 2014-03-06 at 1470b0a)
677 + write_pack_file: use correct variable in diagnostic
678 (this branch is used by sh/finish-tmp-packfile.)
680 A warning from "git pack-objects" were generated by referring to an
681 incorrect variable when forming the filename that we had trouble
684 Will merge to 'master'.
687 * sr/add--interactive-term-readkey (2014-03-03) 2 commits
688 (merged to 'next' on 2014-03-06 at 9ca7af8)
689 + git-add--interactive: warn if module for interactive.singlekey is missing
690 + git-config: document interactive.singlekey requires Term::ReadKey
692 Will merge to 'master'.
695 * ta/parse-commit-with-skip-prefix (2014-03-04) 1 commit
696 (merged to 'next' on 2014-03-06 at 0244988)
697 + commit.c: use skip_prefix() instead of starts_with()
699 Will merge to 'master'.
702 * ak/gitweb-fit-image (2014-02-20) 1 commit
703 (merged to 'next' on 2014-03-06 at ba8cb50)
704 + gitweb: Avoid overflowing page body frame with large images
706 Instead of allowing an <img> to be shown in whatever size, force
707 scaling it to fit on the page with max-height/max-width css style
710 Will merge to 'master'.
713 * da/difftool-git-files (2014-03-05) 2 commits
714 (merged to 'next' on 2014-03-06 at a563ec1)
715 + t7800: add a difftool test for .git-files
716 + difftool: support repositories with .git-files
718 "git difftool" misbehaved when the repository is bound to the
719 working tree with the ".git file" mechanism, where a textual
720 file ".git" tells us where it is.
722 Will merge to 'master'.
725 * jk/commit-dates-parsing-fix (2014-03-07) 6 commits
726 (merged to 'next' on 2014-03-07 at 01e9d92)
727 + show_ident_date: fix tz range check
728 (merged to 'next' on 2014-03-06 at dd641e2)
729 + log: do not segfault on gmtime errors
730 + log: handle integer overflow in timestamps
731 + date: check date overflow against time_t
732 + fsck: report integer overflow in author timestamps
733 + t4212: test bogus timestamps with git-log
735 Will merge to 'master'.
738 * jk/diff-filespec-cleanup (2014-02-24) 1 commit
739 - diffcore.h: be explicit about the signedness of is_binary
741 Will merge to 'next' and then to 'master' and 'maint'.
744 * jk/remote-pushremote-config-reading (2014-02-24) 1 commit
745 (merged to 'next' on 2014-03-06 at 9e71ecb)
746 + remote: handle pushremote config in any order
748 Will merge to 'master'.
751 * jk/repack-pack-keep-objects (2014-03-03) 1 commit
752 - repack: add `repack.packKeptObjects` config var
754 Will merge to 'next'.
757 * jm/stash-doc-k-for-keep (2014-02-24) 1 commit
758 (merged to 'next' on 2014-03-06 at ddd8e48)
759 + stash doc: mention short form -k in save description
761 Will merge to 'master'.
764 * jn/am-doc-hooks (2014-02-24) 1 commit
765 (merged to 'next' on 2014-03-06 at 5c1c372)
766 + am doc: add a pointer to relevant hooks
768 Will merge to 'master'.
771 * mh/object-code-cleanup (2014-02-24) 4 commits
772 (merged to 'next' on 2014-03-06 at d6b3867)
773 + sha1_file.c: document a bunch of functions defined in the file
774 + sha1_file_name(): declare to return a const string
775 + find_pack_entry(): document last_found_pack
776 + replace_object: use struct members instead of an array
778 Will merge to 'master'.
781 * nd/i18n-progress (2014-02-24) 1 commit
782 (merged to 'next' on 2014-03-06 at 600fd3e)
783 + i18n: mark all progress lines for translation
785 Will merge to 'master'.
788 * nd/sha1-file-delta-stack-leakage-fix (2014-02-24) 1 commit
789 - sha1_file: fix delta_stack memory leak in unpack_entry
791 Will merge to 'next' and then to 'master' and 'maint'.
794 * tc/commit-dry-run-exit-status-tests (2014-02-24) 1 commit
795 - demonstrate git-commit --dry-run exit code behaviour
797 Will merge to 'next'.
800 * fc/transport-helper-fixes (2014-02-24) 7 commits
801 - remote-bzr: support the new 'force' option
802 - test-hg.sh: tests are now expected to pass
803 - transport-helper.c: do not overwrite forced bit
804 - transport-helper: check for 'forced update' message
805 - transport-helper: add 'force' to 'export' helpers
806 - transport-helper: don't update refs in dry-run
807 - transport-helper: mismerge fix
809 Updates transport-helper, fast-import and fast-export to allow the
810 ref mapping and ref deletion in a way similar to the natively
811 supported transports.
813 Will merge to 'next'.
816 * bc/blame-crlf-test (2014-02-18) 1 commit
817 - blame: add a failing test for a CRLF issue.
819 I have a feeling that a fix for this should be fairly isolated and
820 trivial (it should be just the matter of paying attention to the
821 crlf settings when synthesizing the fake commit)---perhaps somebody
822 can squash in a fix to this?
825 * jk/http-no-curl-easy (2014-02-18) 1 commit
826 (merged to 'next' on 2014-03-06 at 56d3f6f)
827 + http: never use curl_easy_perform
829 Avoid use of the curl-easy family of functions, which interferes
830 with connection reuse in a negative way.
832 Will merge to 'master' and then to 'maint'.
835 * jk/janitorial-fixes (2014-02-18) 5 commits
836 (merged to 'next' on 2014-03-06 at dac2de6)
837 + open_istream(): do not dereference NULL in the error case
838 + builtin/mv: don't use memory after free
839 + utf8: use correct type for values in interval table
840 + utf8: fix iconv error detection
841 + notes-utils: handle boolean notes.rewritemode correctly
843 Will merge to 'master'.
846 * ks/config-file-stdin (2014-02-18) 4 commits
847 (merged to 'next' on 2014-03-06 at 3e77313)
848 + config: teach "git config --file -" to read from the standard input
849 + config: change git_config_with_options() interface
850 + builtin/config.c: rename check_blob_write() -> check_write()
851 + config: disallow relative include paths from blobs
853 Will merge to 'master'.
856 * lb/contrib-contacts-looser-diff-parsing (2014-02-18) 1 commit
857 (merged to 'next' on 2014-03-06 at 1cc4ffe)
858 + git-contacts: do not fail parsing of good diffs
860 Will merge to 'master'.
863 * mh/replace-refs-variable-rename (2014-02-28) 3 commits
864 (merged to 'next' on 2014-03-06 at 70bf89b)
865 + Document some functions defined in object.c
866 + Add docstrings for lookup_replace_object() and do_lookup_replace_object()
867 + rename read_replace_refs to check_replace_refs
869 Will merge to 'master'.
872 * nd/commit-editor-cleanup (2014-02-25) 3 commits
873 - commit: add --cleanup=scissors
874 - wt-status.c: move cut-line print code out to wt_status_add_cut_line
875 - wt-status.c: make cut_line[] const to shrink .data section a bit
877 "git commit --cleanup=<mode>" learned a new mode, scissors.
879 Will merge to 'next'.
882 * nd/no-more-fnmatch (2014-02-20) 4 commits
883 (merged to 'next' on 2014-03-06 at f0b8f12)
884 + actually remove compat fnmatch source code
885 + stop using fnmatch (either native or compat)
886 + Revert "test-wildmatch: add "perf" command to compare wildmatch and fnmatch"
887 + use wildmatch() directly without fnmatch() wrapper
889 We started using wildmatch() in place of fnmatch(3); complete the
890 process and stop using fnmatch(3).
892 Will merge to 'master'.
895 * nd/reset-setup-worktree (2014-02-18) 1 commit
896 (merged to 'next' on 2014-03-06 at d93f20a)
897 + reset: optionally setup worktree and refresh index on --mixed
899 "git reset" needs to refresh the index when working in a working
900 tree (it can also be used to match the index to the HEAD in an
901 otherwise bare repository), but it failed to set up the working
902 tree properly, causing GIT_WORK_TREE to be ignored.
904 Will merge to 'master'.
907 * po/git-help-user-manual (2014-02-18) 1 commit
908 - Provide a 'git help user-manual' route to the docbook
910 I am not sure if this is even needed.
915 * rt/links-for-asciidoctor (2014-02-20) 1 commit
916 (merged to 'next' on 2014-03-06 at 547f13d)
917 + Documentation: fix documentation AsciiDoc links for external urls
919 Will merge to 'master'.
922 * tg/index-v4-format (2014-02-24) 3 commits
923 (merged to 'next' on 2014-03-06 at d4ca5a8)
924 + read-cache: add index.version config variable
925 + test-lib: allow setting the index format version
926 + introduce GIT_INDEX_VERSION environment variable
928 Will merge to 'master'.
931 * tr/diff-submodule-no-reuse-worktree (2014-02-18) 1 commit
932 (merged to 'next' on 2014-03-06 at ac8008f)
933 + diff: do not reuse_worktree_file for submodules
935 "git diff --external-diff" incorrectly fed the submodule directory
936 in the working tree to the external diff driver when it knew it is
937 the same as one of the versions being compared.
939 Will merge to 'master'.
942 * nd/multiple-work-trees (2014-03-06) 28 commits
943 - FIXUP: minimum compilation fix
944 - count-objects: report unused files in $GIT_DIR/repos/...
945 - gc: support prune --repos
946 - gc: style change -- no SP before closing bracket
947 - prune: strategies for linked checkouts
948 - checkout: detach if the branch is already checked out elsewhere
949 - checkout: clean up half-prepared directories in --to mode
950 - checkout: support checking out into a new working directory
951 - use new wrapper write_file() for simple file writing
952 - wrapper.c: wrapper to open a file, fprintf then close
953 - setup.c: support multi-checkout repo setup
954 - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
955 - setup.c: convert check_repository_format_gently to use strbuf
956 - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
957 - setup.c: convert is_git_directory() to use strbuf
958 - git-stash: avoid hardcoding $GIT_DIR/logs/....
959 - *.sh: avoid hardcoding $GIT_DIR/hooks/...
960 - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
961 - Add new environment variable $GIT_COMMON_DIR
962 - commit: use SEQ_DIR instead of hardcoding "sequencer"
963 - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
964 - reflog: avoid constructing .lock path with git_path
965 - *.sh: respect $GIT_INDEX_FILE
966 - Make git_path() aware of file relocation in $GIT_DIR
967 - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
968 - path.c: rename vsnpath() to do_git_path()
969 - Convert git_snpath() to strbuf_git_path()
970 - path.c: make get_pathname() return strbuf instead of static buffer
972 The series needs a serious review.
975 * ks/tree-diff-nway (2014-03-04) 19 commits
976 - combine-diff: speed it up, by using multiparent diff tree-walker directly
977 - tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
978 - Portable alloca for Git
979 - tree-diff: reuse base str(buf) memory on sub-tree recursion
980 - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
981 - tree-diff: rework diff_tree interface to be sha1 based
982 - tree-diff: diff_tree() should now be static
983 - tree-diff: remove special-case diff-emitting code for empty-tree cases
984 - tree-diff: simplify tree_entry_pathcmp
985 - tree-diff: show_path prototype is not needed anymore
986 - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
987 - tree-diff: move all action-taking code out of compare_tree_entry()
988 - tree-diff: don't assume compare_tree_entry() returns -1,0,1
989 - tree-diff: consolidate code for emitting diffs and recursion in one place
990 - tree-diff: show_tree() is not needed
991 - tree-diff: no need to pass match to skip_uninteresting()
992 - tree-diff: no need to manually verify that there is no mode change for a path
993 - combine-diff: move changed-paths scanning logic into its own function
994 - combine-diff: move show_log_first logic/action out of paths scanning
996 Instead of running N pair-wise diff-trees when inspecting a
997 N-parent merge, find the set of paths that were touched by walking
998 N+1 trees in parallel. These set of paths can then be turned into
999 N pair-wise diff-tree results to be processed through rename
1000 detections and such. And N=2 case nicely degenerates to the usual
1001 2-way diff-tree, which is very nice.
1004 * nd/gitignore-trailing-whitespace (2014-03-11) 3 commits
1005 (merged to 'next' on 2014-03-11 at ccdba51)
1006 + t0008: skip trailing space test on Windows
1007 (merged to 'next' on 2014-03-06 at f649a34)
1008 + dir: ignore trailing spaces in exclude patterns
1009 + dir: warn about trailing spaces in exclude patterns
1011 Warn and then ignore trailing whitespaces in .gitignore files,
1012 unless they are quoted for fnmatch(3), e.g. "path\ ".
1014 Will merge to 'master'.
1017 * nd/log-show-linear-break (2014-02-10) 1 commit
1018 - log: add --show-linear-break to help see non-linear history
1020 Attempts to show where a single-strand-of-pearls break in "git log"
1023 Will merge to 'next'.
1026 * ss/completion-rec-sub-fetch-push (2014-02-11) 1 commit
1027 (merged to 'next' on 2014-03-06 at b5bf463)
1028 + completion: teach --recurse-submodules to fetch, pull and push
1030 Will merge to 'master'.
1033 * jh/note-trees-record-blobs (2014-02-20) 1 commit
1034 (merged to 'next' on 2014-03-06 at f46852d)
1035 + notes: disallow reusing non-blob as a note object
1037 "git notes -C <blob>" should not take an object that is not a blob.
1039 Will merge to 'master'.
1042 * jc/check-attr-honor-working-tree (2014-02-06) 2 commits
1043 (merged to 'next' on 2014-03-06 at 960d679)
1044 + check-attr: move to the top of working tree when in non-bare repository
1045 + t0003: do not chdir the whole test process
1047 "git check-attr" when (trying to) work on a repository with a
1048 working tree did not work well when the working tree was specified
1049 via --work-tree (and obviously with --git-dir).
1051 The command also works in a bare repository but it reads from the
1052 (possibly stale, irrelevant and/or nonexistent) index, which may
1053 need to be fixed to read from HEAD, but that is a completely
1054 separate issue. As a related tangent to this separate issue, we
1055 may want to also fix "check-ignore", which refuses to work in a
1056 bare repository, to also operate in a bare one.
1058 Will merge to 'master'.
1061 * tr/remerge-diff (2014-02-26) 5 commits
1062 . log --remerge-diff: show what the conflict resolution changed
1063 . name-hash: allow dir hashing even when !ignore_case
1064 . merge-recursive: allow storing conflict hunks in index
1065 . revision: fold all merge diff variants into an enum merge_diff_mode
1066 . combine-diff: do not pass revs->dense_combined_merges redundantly
1067 (this branch uses tr/merge-recursive-index-only.)
1069 "log -p" output learns a new way to let users inspect a merge
1070 commit by showing the differences between the automerged result
1071 with conflicts the person who recorded the merge would have seen
1072 and the final conflict resolution that was recorded in the merge.
1074 RFC. This latest round clashes with the kb/fast-hashmap topic in
1078 * lt/request-pull (2014-02-25) 5 commits
1079 - request-pull: resurrect "pretty refname" feature
1080 - request-pull: test updates
1081 - request-pull: pick up tag message as before
1082 - request-pull: allow "local:remote" to specify names on both ends
1083 - request-pull: more strictly match local/remote branches
1085 Needs doc update but otherwise it should be ready for 'next'.
1088 * cc/interpret-trailers (2014-03-07) 11 commits
1089 - Documentation: add documentation for 'git interpret-trailers'
1090 - trailer: add tests for commands in config file
1091 - trailer: execute command from 'trailer.<name>.command'
1092 - trailer: add tests for "git interpret-trailers"
1093 - trailer: add interpret-trailers command
1094 - trailer: put all the processing together and print
1095 - trailer: parse trailers from stdin
1096 - trailer: process command line trailer arguments
1097 - trailer: read and process config information
1098 - trailer: process trailers from stdin and arguments
1099 - trailers: add data structures and basic functions
1101 A new filter to programatically edit the tail end of the commit log
1105 * bl/blame-full-history (2014-01-14) 1 commit
1106 - blame: new option --prefer-first to better handle merged cherry-picks
1108 By disabling the tree-same optimization (which is consistent with
1109 the default behaviour of "git log"-family of commands), make "git
1110 blame" sometimes produce different result from the original code.
1112 Because the "git blame" output can give result for each line from
1113 only one lineage of the history, however, this can be only useful
1114 when you are lucky---unlike "--full-history" of "git log"-family,
1115 where we can show commits from both lineages of histories with an
1116 equal weight. See $gmane/240392 for more detailed discussion.
1121 * tr/merge-recursive-index-only (2014-02-05) 3 commits
1122 - merge-recursive: -Xindex-only to leave worktree unchanged
1123 - merge-recursive: internal flag to avoid touching the worktree
1124 - merge-recursive: remove dead conditional in update_stages()
1125 (this branch is used by tr/remerge-diff.)
1129 --------------------------------------------------
1132 * tb/repack-fix-renames (2014-02-05) 1 commit
1133 . repack.c: rename a few variables
1135 Perhaps unneeded, as the longer-term plan is to drop the codeblock
1136 this change touches.
1139 * ks/diff-c-with-diff-order (2014-02-03) 5 commits
1140 . combine-diff: simplify intersect_paths() further
1141 . combine-diff: combine_diff_path.len is not needed anymore
1142 . combine-diff: optimize combine_diff_path sets intersection
1143 . diff test: add tests for combine-diff with orderfile
1144 . diffcore-order: export generic ordering interface
1146 Now part of ks/combine-diff topic.
1149 * ks/tree-diff-more (2014-02-24) 15 commits
1150 - tree-diff: reuse base str(buf) memory on sub-tree recursion
1151 - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
1152 - tree-diff: rework diff_tree interface to be sha1 based
1153 - tree-diff: remove special-case diff-emitting code for empty-tree cases
1154 - tree-diff: simplify tree_entry_pathcmp
1155 - tree-diff: show_path prototype is not needed anymore
1156 - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
1157 - tree-diff: move all action-taking code out of compare_tree_entry()
1158 - tree-diff: don't assume compare_tree_entry() returns -1,0,1
1159 - tree-diff: consolidate code for emitting diffs and recursion in one place
1160 - tree-diff: show_tree() is not needed
1161 - tree-diff: no need to pass match to skip_uninteresting()
1162 - tree-diff: no need to manually verify that there is no mode change for a path
1163 - combine-diff: move changed-paths scanning logic into its own function
1164 - combine-diff: move show_log_first logic/action out of paths scanning
1165 (this branch is used by ks/tree-diff-nway; uses ks/combine-diff.)
1169 Now part of ks/tree-diff-nway.