1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Mar 2014, #03; Fri, 14)
4 X-master-at: 00eda23228acb68c85a76f977f4e59f82189ce3f
5 X-next-at: 169382a66e8adc06d7eb542d356ad22244051e6d
7 What's cooking in git.git (Mar 2014, #03; Fri, 14)
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 More topics merged to 'master', some of which have been cooking
15 before the v1.9.0 final release.
17 You can find the changes described here in the integration branches
18 of the repositories listed at
20 http://git-blame.blogspot.com/p/git-public-repositories.html
22 --------------------------------------------------
23 [Graduated to "master"]
25 * ak/gitweb-fit-image (2014-02-20) 1 commit
26 (merged to 'next' on 2014-03-06 at ba8cb50)
27 + gitweb: Avoid overflowing page body frame with large images
29 Instead of allowing an <img> to be shown in whatever size, force
30 scaling it to fit on the page with max-height/max-width css style
34 * da/difftool-git-files (2014-03-05) 2 commits
35 (merged to 'next' on 2014-03-06 at a563ec1)
36 + t7800: add a difftool test for .git-files
37 + difftool: support repositories with .git-files
39 "git difftool" misbehaved when the repository is bound to the
40 working tree with the ".git file" mechanism, where a textual
41 file ".git" tells us where it is.
44 * jc/check-attr-honor-working-tree (2014-02-06) 2 commits
45 (merged to 'next' on 2014-03-06 at 960d679)
46 + check-attr: move to the top of working tree when in non-bare repository
47 + t0003: do not chdir the whole test process
49 "git check-attr" when (trying to) work on a repository with a
50 working tree did not work well when the working tree was specified
51 via --work-tree (and obviously with --git-dir).
53 The command also works in a bare repository but it reads from the
54 (possibly stale, irrelevant and/or nonexistent) index, which may
55 need to be fixed to read from HEAD, but that is a completely
56 separate issue. As a related tangent to this separate issue, we
57 may want to also fix "check-ignore", which refuses to work in a
58 bare repository, to also operate in a bare one.
61 * jh/note-trees-record-blobs (2014-02-20) 1 commit
62 (merged to 'next' on 2014-03-06 at f46852d)
63 + notes: disallow reusing non-blob as a note object
65 "git notes -C <blob>" should not take an object that is not a blob.
68 * jk/commit-dates-parsing-fix (2014-03-07) 6 commits
69 (merged to 'next' on 2014-03-07 at 01e9d92)
70 + show_ident_date: fix tz range check
71 (merged to 'next' on 2014-03-06 at dd641e2)
72 + log: do not segfault on gmtime errors
73 + log: handle integer overflow in timestamps
74 + date: check date overflow against time_t
75 + fsck: report integer overflow in author timestamps
76 + t4212: test bogus timestamps with git-log
78 Codepaths that parse timestamps in commit objects have been
82 * jk/doc-coding-guideline (2014-02-28) 1 commit
83 (merged to 'next' on 2014-03-06 at c33101d)
84 + CodingGuidelines: mention C whitespace rules
86 Elaborate on a style niggle that has been part of "mimic existing
90 * jk/http-no-curl-easy (2014-02-18) 1 commit
91 (merged to 'next' on 2014-03-06 at 56d3f6f)
92 + http: never use curl_easy_perform
94 Uses of curl's "multi" interface and "easy" interface do not mix
95 well when we attempt to reuse outgoing connections. Teach the RPC
96 over http code, used in the smart HTTP transport, not to use the
100 * jk/janitorial-fixes (2014-02-18) 5 commits
101 (merged to 'next' on 2014-03-06 at dac2de6)
102 + open_istream(): do not dereference NULL in the error case
103 + builtin/mv: don't use memory after free
104 + utf8: use correct type for values in interval table
105 + utf8: fix iconv error detection
106 + notes-utils: handle boolean notes.rewritemode correctly
109 * jk/remote-pushremote-config-reading (2014-02-24) 1 commit
110 (merged to 'next' on 2014-03-06 at 9e71ecb)
111 + remote: handle pushremote config in any order
113 "git push" did not pay attention to branch.*.pushremote if it is
114 defined earlier than remote.pushdefault; the order of these two
115 variables in the configuration file should not matter, but it did
119 * jl/doc-submodule-update-checkout (2014-02-28) 1 commit
120 (merged to 'next' on 2014-03-06 at 8cdf5cb)
121 + submodule update: consistently document the '--checkout' option
123 Add missing documentation for "submodule update --checkout".
126 * jm/stash-doc-k-for-keep (2014-02-24) 1 commit
127 (merged to 'next' on 2014-03-06 at ddd8e48)
128 + stash doc: mention short form -k in save description
131 * jn/am-doc-hooks (2014-02-24) 1 commit
132 (merged to 'next' on 2014-03-06 at 5c1c372)
133 + am doc: add a pointer to relevant hooks
136 * jn/bisect-coding-style (2014-03-03) 1 commit
137 (merged to 'next' on 2014-03-06 at e1de2a5)
138 + git-bisect.sh: fix a few style issues
141 * ks/config-file-stdin (2014-02-18) 4 commits
142 (merged to 'next' on 2014-03-06 at 3e77313)
143 + config: teach "git config --file -" to read from the standard input
144 + config: change git_config_with_options() interface
145 + builtin/config.c: rename check_blob_write() -> check_write()
146 + config: disallow relative include paths from blobs
148 "git config" learned to read from the standard input when "-" is
149 given as the value to its "--file" parameter (attempting an
150 operation to update the configuration in the standard input of
154 * lb/contrib-contacts-looser-diff-parsing (2014-02-18) 1 commit
155 (merged to 'next' on 2014-03-06 at 1cc4ffe)
156 + git-contacts: do not fail parsing of good diffs
159 * mh/object-code-cleanup (2014-02-24) 4 commits
160 (merged to 'next' on 2014-03-06 at d6b3867)
161 + sha1_file.c: document a bunch of functions defined in the file
162 + sha1_file_name(): declare to return a const string
163 + find_pack_entry(): document last_found_pack
164 + replace_object: use struct members instead of an array
167 * mh/replace-refs-variable-rename (2014-02-28) 3 commits
168 (merged to 'next' on 2014-03-06 at 70bf89b)
169 + Document some functions defined in object.c
170 + Add docstrings for lookup_replace_object() and do_lookup_replace_object()
171 + rename read_replace_refs to check_replace_refs
174 * nd/gitignore-trailing-whitespace (2014-03-11) 3 commits
175 (merged to 'next' on 2014-03-11 at ccdba51)
176 + t0008: skip trailing space test on Windows
177 (merged to 'next' on 2014-03-06 at f649a34)
178 + dir: ignore trailing spaces in exclude patterns
179 + dir: warn about trailing spaces in exclude patterns
181 Trailing whitespaces in .gitignore files, unless they are quoted
182 for fnmatch(3), e.g. "path\ ", are warned and ignored. Strictly
183 speaking, this is a backward incompatible change, but very unlikely
184 to bite any sane user and adjusting should be obvious and easy.
187 * nd/i18n-progress (2014-02-24) 1 commit
188 (merged to 'next' on 2014-03-06 at 600fd3e)
189 + i18n: mark all progress lines for translation
191 The progress indicators from various time-consuming commands have
192 been marked for i18n/l10n.
195 * nd/no-more-fnmatch (2014-02-20) 4 commits
196 (merged to 'next' on 2014-03-06 at f0b8f12)
197 + actually remove compat fnmatch source code
198 + stop using fnmatch (either native or compat)
199 + Revert "test-wildmatch: add "perf" command to compare wildmatch and fnmatch"
200 + use wildmatch() directly without fnmatch() wrapper
202 We started using wildmatch() in place of fnmatch(3); complete the
203 process and stop using fnmatch(3).
206 * nd/reset-setup-worktree (2014-02-18) 1 commit
207 (merged to 'next' on 2014-03-06 at d93f20a)
208 + reset: optionally setup worktree and refresh index on --mixed
210 "git reset" needs to refresh the index when working in a working
211 tree (it can also be used to match the index to the HEAD in an
212 otherwise bare repository), but it failed to set up the working
213 tree properly, causing GIT_WORK_TREE to be ignored.
216 * nd/strbuf-inline-styles (2014-03-03) 1 commit
217 (merged to 'next' on 2014-03-06 at 70b5e56)
218 + strbuf: style fix -- top opening bracket on a separate line
221 * rt/help-pretty-prints-cmd-names (2014-02-28) 1 commit
222 (merged to 'next' on 2014-03-06 at fc607dc)
223 + help.c: rename function "pretty_print_string_list"
226 * rt/links-for-asciidoctor (2014-02-20) 1 commit
227 (merged to 'next' on 2014-03-06 at 547f13d)
228 + Documentation: fix documentation AsciiDoc links for external urls
231 * sg/archive-restrict-remote (2014-02-28) 2 commits
232 (merged to 'next' on 2014-03-06 at 5fe8998)
233 + add uploadarchive.allowUnreachable option
234 + docs: clarify remote restrictions for git-upload-archive
236 Allow loosening remote "git archive" invocation security check that
237 refuses to serve tree-ish not at the tip of any ref.
240 * sh/write-pack-file-warning-message-fix (2014-03-03) 1 commit
241 (merged to 'next' on 2014-03-06 at 1470b0a)
242 + write_pack_file: use correct variable in diagnostic
243 (this branch is used by sh/finish-tmp-packfile.)
245 A warning from "git pack-objects" were generated by referring to an
246 incorrect variable when forming the filename that we had trouble
250 * sr/add--interactive-term-readkey (2014-03-03) 2 commits
251 (merged to 'next' on 2014-03-06 at 9ca7af8)
252 + git-add--interactive: warn if module for interactive.singlekey is missing
253 + git-config: document interactive.singlekey requires Term::ReadKey
256 * ss/completion-rec-sub-fetch-push (2014-02-11) 1 commit
257 (merged to 'next' on 2014-03-06 at b5bf463)
258 + completion: teach --recurse-submodules to fetch, pull and push
261 * ta/parse-commit-with-skip-prefix (2014-03-04) 1 commit
262 (merged to 'next' on 2014-03-06 at 0244988)
263 + commit.c: use skip_prefix() instead of starts_with()
266 * tg/index-v4-format (2014-02-24) 3 commits
267 (merged to 'next' on 2014-03-06 at d4ca5a8)
268 + read-cache: add index.version config variable
269 + test-lib: allow setting the index format version
270 + introduce GIT_INDEX_VERSION environment variable
273 * tr/diff-submodule-no-reuse-worktree (2014-02-18) 1 commit
274 (merged to 'next' on 2014-03-06 at ac8008f)
275 + diff: do not reuse_worktree_file for submodules
277 "git diff --external-diff" incorrectly fed the submodule directory
278 in the working tree to the external diff driver when it knew it is
279 the same as one of the versions being compared.
281 --------------------------------------------------
284 * jn/wt-status (2014-03-12) 4 commits
285 (merged to 'next' on 2014-03-14 at 8ac862c)
286 + wt-status: lift the artificual "at least 20 columns" floor
287 + wt-status: i18n of section labels
288 + wt-status: extract the code to compute width for labels
289 + wt-status: make full label string to be subject to l10n
291 Unify the codepaths that format new/modified/changed sections and
292 conflicted paths in the "git status" output and make it possible to
293 properly internationalize their output.
295 Will merge to 'master'.
298 * es/sh-i18n-envsubst (2014-03-12) 1 commit
299 (merged to 'next' on 2014-03-14 at e4d5603)
300 + sh-i18n--envsubst: retire unused string_list_member()
302 Will merge to 'master'.
305 * mh/remove-subtree-long-pathname-fix (2014-03-13) 2 commits
306 - entry.c: fix possible buffer overflow in remove_subtree()
307 - checkout_entry(): use the strbuf throughout the function
309 Will merge to 'next'.
312 * nd/indent-fix-connect-c (2014-03-13) 1 commit
313 - connect.c: SP after "}", not TAB
315 Will merge to 'next'.
318 * pw/branch-config-message (2014-03-13) 1 commit
319 - install_branch_config(): simplify verbose messages logic
321 Among the many attempts to microproject #8, this seemed to be the
322 most "done" among the table based ones; I however tend to think
323 that the original with minimum refactoring would be easier to read.
326 * ys/fsck-commit-parsing (2014-03-13) 2 commits
327 - fsck.c:fsck_commit(): use skip_prefix() to verify and skip constant
328 - fsck.c:fsck_ident(): ident points at a const string
331 * jk/warn-on-object-refname-ambiguity (2014-03-13) 4 commits
332 - rev-list: disable object/refname ambiguity check with --stdin
333 - cat-file: restore warn_on_object_refname_ambiguity flag
334 - cat-file: fix a minor memory leak in batch_objects
335 - cat-file: refactor error handling of batch_objects
337 Will merge to 'next'.
339 --------------------------------------------------
342 * bc/blame-crlf-test (2014-02-18) 1 commit
343 - blame: add a failing test for a CRLF issue.
345 I have a feeling that a fix for this should be fairly isolated and
346 trivial (it should be just the matter of paying attention to the
347 crlf settings when synthesizing the fake commit)---perhaps somebody
348 can squash in a fix to this?
351 * ap/remote-hg-skip-null-bookmarks (2014-01-02) 1 commit
352 - remote-hg: do not fail on invalid bookmarks
354 Reported to break tests ($gmane/240005)
358 * jk/makefile (2014-02-05) 16 commits
360 - move LESS/LV pager environment to Makefile
361 - Makefile: teach scripts to include make variables
363 - Makefile: auto-build C strings from make variables
364 - Makefile: drop *_SQ variables
366 - Makefile: add c-quote helper function
367 - Makefile: introduce sq function for shell-quoting
368 - Makefile: always create files via make-var
369 - Makefile: store GIT-* sentinel files in MAKE/
370 - Makefile: prefer printf to echo for GIT-*
371 - Makefile: use tempfile/mv strategy for GIT-*
372 - Makefile: introduce make-var helper function
373 - Makefile: fix git-instaweb dependency on gitweb
374 - Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
376 Simplify the Makefile rules and macros that exist primarily for
377 quoting purposes, and make it easier to robustly express the
383 * kb/fast-hashmap-pack-struct (2014-02-24) 1 commit
384 - hashmap.h: make sure map entries are tightly packed
386 I am inclined to drop this; an alternative is to replace it with
387 the "more portable" one that uses #pragma, which I am willing to
388 try doing so on 'pu', though.
391 * po/everyday-doc (2014-01-27) 1 commit
392 - Make 'git help everyday' work
394 This may make the said command to emit something, but the source is
395 not meant to be formatted into a manual pages to begin with, and
396 also its contents are a bit stale. It may be a good first step in
397 the right direction, but needs more work to at least get the
398 mark-up right before public consumption.
403 * jk/branch-at-publish-rebased (2014-01-17) 5 commits
404 - t1507 (rev-parse-upstream): fix typo in test title
405 - implement @{publish} shorthand
406 - branch_get: provide per-branch pushremote pointers
407 - branch_get: return early on error
408 - sha1_name: refactor upstream_mark
410 Give an easier access to the tracking branches from "other" side in
411 a triangular workflow by introducing B@{publish} that works in a
412 similar way to how B@{upstream} does.
414 Meant to be used as a basis for whatever Ram wants to build on.
419 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
420 - merge: drop unused arg from abort_commit method signature
421 - merge: make prepare_to_commit responsible for write_merge_state
422 - t7505: ensure cleanup after hook blocks merge
423 - t7505: add missing &&
425 Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
426 run during "git merge". The log message stresses too much on one
427 hook, prepare-commit-msg, but it would equally apply to other hooks
428 like post-merge, I think.
430 Waiting for a reroll.
433 * jl/submodule-recursive-checkout (2013-12-26) 5 commits
434 - Teach checkout to recursively checkout submodules
435 - submodule: teach unpack_trees() to update submodules
436 - submodule: teach unpack_trees() to repopulate submodules
437 - submodule: teach unpack_trees() to remove submodule contents
438 - submodule: prepare for recursive checkout of submodules
443 * jc/graph-post-root-gap (2013-12-30) 3 commits
444 - WIP: document what we want at the end
445 - graph: remove unused code a bit
446 - graph: stuff the current commit into graph->columns[]
448 This was primarily a RFH ($gmane/239580).
451 * fc/completion (2013-12-09) 1 commit
452 - completion: fix completion of certain aliases
454 SZEDER Gábor noticed that this breaks "git -c var=val alias" and
455 also suggested a better description of the change.
457 Has been stalled for a while without much comments from anybody
463 * mo/subtree-split-updates (2013-12-10) 3 commits
464 - subtree: add --edit option
465 - subtree: allow --squash and --message with push
466 - subtree: support split --rejoin --squash
468 Has been stalled for a while without much comments from anybody
474 * hv/submodule-ignore-fix (2013-12-06) 4 commits
475 - disable complete ignorance of submodules for index <-> HEAD diff
476 - always show committed submodules in summary after commit
477 - teach add -f option for ignored submodules
478 - fix 'git add' to skip submodules configured as ignored
480 Teach "git add" to be consistent with "git status" when changes to
481 submodules are set to be ignored, to avoid surprises after checking
482 with "git status" to see there isn't any change to be further added
483 and then see that "git add ." adds changes to them.
485 I think a reroll is coming, so this may need to be replaced, but I
486 needed some practice with heavy conflict resolution. It conflicts
487 with two changes to "git add" that have been scheduled for Git 2.0
488 quite badly, and I think I got the resolution right this time.
490 Waiting for a reroll.
493 * jc/create-directories-microopt (2013-11-11) 1 commit
494 - checkout: most of the time we have good leading directories
496 Of unknown value until tested on non-Linux platforms (especially
502 * jt/commit-fixes-footer (2013-10-30) 1 commit
503 - commit: Add -f, --fixes <commit> option to add Fixes: line
505 There is an ongoing discussion around this topic; in general I am
506 fairly negative on a new feature that is too narrow and prefer a
507 more generic solution that can be tailored for specific needs, as
508 many people stated in the thread.
510 cc/interpret-trailers could be such a generic solution (although
511 there don't seem to be much concensus yet).
516 * np/pack-v4 (2013-09-18) 90 commits
517 . packv4-parse.c: add tree offset caching
518 . t1050: replace one instance of show-index with verify-pack
519 . index-pack, pack-objects: allow creating .idx v2 with .pack v4
520 . unpack-objects: decode v4 trees
521 . unpack-objects: allow to save processed bytes to a buffer
524 Nico and Duy advancing the eternal vaporware pack-v4. This is here
525 primarily for wider distribution of the preview edition.
527 Temporarily ejected from 'pu', to try out jk/pack-bitmap, which
528 this topic conflicts with.
531 * mf/graph-show-root (2013-10-25) 1 commit
532 . graph.c: mark root commit differently
534 In a repository with multiple-roots, "log --graph", especially with
535 "--oneline", does not give the reader enough visual cue to see
536 where one line of history ended and a separate history began.
538 This is the version that marks the roots 'x' when they would have
539 been marked as '*'; Keshav Kini suggested an alternative of giving
540 an extra blank line after every root, which I tend to think is a
541 better approach to the problem.
546 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
547 - perf-lib: add test_perf_cleanup target
548 - perf-lib: split starting the test from the execution
550 Add test_perf_cleanup shell function to the perf suite, that allows
551 the script writers to define a test with a clean-up action.
556 * yt/shortened-rename (2013-10-18) 2 commits
557 - SQUASH??? style fixes and s/omit/shorten/ where appropriate
558 - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
560 Attempts to give more weight on the fact that a filepair represents
561 a rename than showing substring of the actual path when diffstat
562 lines are not wide enough.
564 I am not sure if that is solving a right problem, though.
569 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
570 - git-send-email: Cache generated message-ids, use them when prompting
571 - git-send-email: add optional 'choices' parameter to the ask sub
576 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
577 - ### DONTMERGE: needs better explanation on what config they need
578 - pack-refs.c: Add missing call to git_config()
579 - show-ref.c: Add missing call to git_config()
581 The changes themselves are probably good, but it is unclear what
582 basic setting needs to be read for which exact operation.
584 Will discard, tired of waiting for clarification.
588 * jc/format-patch (2013-04-22) 2 commits
589 - format-patch: --inline-single
590 - format-patch: rename "no_inline" field
592 A new option to send a single patch to the standard output to be
593 appended at the bottom of a message. I personally have no need for
594 this, but it was easy enough to cobble together. Tests, docs and
595 stripping out more MIMEy stuff are left as exercises to interested
599 * jk/gitweb-utf8 (2013-04-08) 4 commits
600 - gitweb: Fix broken blob action parameters on blob/commitdiff pages
601 - gitweb: Don't append ';js=(0|1)' to external links
602 - gitweb: Make feed title valid utf8
603 - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
605 Various fixes to gitweb.
607 Drew Northup volunteered to take a look into this ($gmane/226216)
608 but nothing seems to have happened since then.
613 * jc/show-branch (2013-06-07) 5 commits
614 - show-branch: use commit slab to represent bitflags of arbitrary width
615 - show-branch.c: remove "all_mask"
616 - show-branch.c: abstract out "flags" operation
617 - show-branch.c: lift all_mask/all_revs to a global static
618 - show-branch.c: update comment style
620 Waiting for the final step to lift the hard-limit before sending it out.
622 --------------------------------------------------
625 * jk/detect-push-typo-early (2014-03-05) 3 commits
626 (merged to 'next' on 2014-03-12 at da522e7)
627 + push: detect local refspec errors early
628 + match_explicit_lhs: allow a "verify only" mode
629 + match_explicit: hoist refspec lhs checks into their own function
631 Catch "git push $there no-such-branch" early.
633 Will merge to 'master'.
636 * jk/diff-funcname-cpp-regex (2014-03-05) 1 commit
637 - diff: simplify cpp funcname regex
639 Has the discussion settled on this?
642 * jk/doc-deprecate-grafts (2014-03-05) 1 commit
643 (merged to 'next' on 2014-03-12 at 8d34916)
644 + docs: mark info/grafts as outdated
646 Will merge to 'master'.
649 * rm/strchrnul-not-strlen (2014-03-10) 1 commit
650 (merged to 'next' on 2014-03-12 at fad8f12)
651 + use strchrnul() in place of strchr() and strlen()
653 Will merge to 'master'.
656 * sh/use-hashcpy (2014-03-06) 1 commit
657 (merged to 'next' on 2014-03-12 at cf2735a)
658 + Use hashcpy() when copying object names
660 Will merge to 'master'.
663 * jc/no-need-for-env-in-sh-scripts (2014-03-06) 1 commit
664 (merged to 'next' on 2014-03-12 at dfd3234)
665 + *.sh: drop useless use of "env"
667 Will merge to 'master'.
670 * jc/tag-contains-with (2014-03-07) 1 commit
671 (merged to 'next' on 2014-03-12 at e120644)
672 + tag: grok "--with" as synonym to "--contains"
674 Will merge to 'master'.
677 * bp/commit-p-editor (2014-03-11) 8 commits
678 - run-command: mark run_hook_with_custom_index as deprecated
679 - merge hook tests: fix and update tests
680 - merge: fix GIT_EDITOR override for commit hook
681 - commit: fix patch hunk editing with "commit -p -m"
683 - test patch hunk editing with "commit -p -m"
684 - merge hook tests: use 'test_must_fail' instead of '!'
685 - merge hook tests: fix missing '&&' in test
688 * cp/am-patch-format-doc (2014-03-11) 1 commit
689 (merged to 'next' on 2014-03-12 at 17c3ada)
690 + Documentation/git-am: Document supported --patch-format options
692 Will merge to 'master'.
695 * dm/configure-iconv-locale-charset (2014-03-11) 1 commit
696 - configure.ac: link with -liconv for locale_charset()
699 * jk/clean-d-pathspec (2014-03-11) 2 commits
700 (merged to 'next' on 2014-03-12 at aaae6ee)
701 + clean: simplify dir/not-dir logic
702 + clean: respect pathspecs with "-d"
704 "git clean -d pathspec" did not use the given pathspec correctly
705 and ended up cleaning too much.
707 Will merge to 'master' and then later to 'maint'.
710 * jk/mv-submodules-fix (2014-03-11) 2 commits
711 - mv: prevent mismatched data when ignoring errors.
712 - builtin/mv: fix out of bounds write
717 * nd/upload-pack-shallow (2014-03-11) 1 commit
718 (merged to 'next' on 2014-03-14 at d40b8c3)
719 + upload-pack: send shallow info over stdin to pack-objects
721 Will merge to 'master'.
724 * rs/grep-h-c (2014-03-11) 2 commits
725 (merged to 'next' on 2014-03-12 at 0341bd8)
726 + grep: support -h (no header) with --count
727 + t7810: add missing variables to tests in loop
729 "git grep" learns to handle combination of "-h (no header)" and "-c
732 Will merge to 'master'.
735 * jc/stash-pop-not-popped (2014-02-26) 1 commit
736 (merged to 'next' on 2014-03-14 at 9ba1de8)
737 + stash pop: mention we did not drop the stash upon failing to apply
739 "stash pop", upon failing to apply the stash, refrains from
740 discarding the stash to avoid information loss. Be more explicit
741 in the error message.
743 The wording may want to get a bit more bikeshedding.
745 Will merge to 'master'.
748 * bg/install-branch-config-skip-prefix (2014-03-06) 2 commits
749 (merged to 'next' on 2014-03-12 at 9d04564)
750 + branch: use skip_prefix() in install_branch_config()
751 + t3200-branch: test setting branch as own upstream
753 Will merge to 'master'.
756 * cn/fetch-prune-overlapping-destination (2014-02-28) 2 commits
757 - fetch: handle overlaping refspecs on --prune
758 - fetch: add a failing test for prunning with overlapping refspecs
760 Protect refs in a hierarchy that can come from more than one remote
761 hierarcies from incorrect removal by "git fetch --prune".
766 * dd/find-graft-with-sha1-pos (2014-02-27) 1 commit
767 (merged to 'next' on 2014-03-12 at 0383d59)
768 + commit.c: use the generic "sha1_pos" function for lookup
770 Replace a hand-rolled binary search with a call to our generic
771 binary search helper function.
773 Will merge to 'master'.
776 * dd/use-alloc-grow (2014-03-03) 14 commits
777 (merged to 'next' on 2014-03-12 at ed82259)
778 + sha1_file.c: use ALLOC_GROW() in pretend_sha1_file()
779 + read-cache.c: use ALLOC_GROW() in add_index_entry()
780 + builtin/mktree.c: use ALLOC_GROW() in append_to_tree()
781 + attr.c: use ALLOC_GROW() in handle_attr_line()
782 + dir.c: use ALLOC_GROW() in create_simplify()
783 + reflog-walk.c: use ALLOC_GROW()
784 + replace_object.c: use ALLOC_GROW() in register_replace_object()
785 + patch-ids.c: use ALLOC_GROW() in add_commit()
786 + diffcore-rename.c: use ALLOC_GROW()
787 + diff.c: use ALLOC_GROW()
788 + commit.c: use ALLOC_GROW() in register_commit_graft()
789 + cache-tree.c: use ALLOC_GROW() in find_subtree()
790 + bundle.c: use ALLOC_GROW() in add_to_ref_list()
791 + builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path()
793 Replace open-coded reallocation with ALLOC_GROW() macro.
795 Will merge to 'master'.
798 * dk/skip-prefix-scan-only-once (2014-03-03) 1 commit
799 (merged to 'next' on 2014-03-14 at ff375fc)
800 + skip_prefix(): scan prefix only once
802 Update implementation of skip_prefix() to scan only once; given
803 that most "prefix" arguments to the inline function are constant
804 strings whose strlen() can be determined at the compile time, this
805 might actually make things worse with a compiler with sufficient
808 Will merge to 'master'.
811 * jk/shallow-update-fix (2014-02-27) 2 commits
812 (merged to 'next' on 2014-03-12 at ce5abbf)
813 + shallow: automatically clean up shallow tempfiles
814 + shallow: use stat_validity to check for up-to-date file
816 Serving objects from a shallow repository needs to write a
817 temporary file to be used, but the serving upload-pack may not have
818 write access to the repository which is meant to be read-only.
820 Will merge to 'master'.
823 * jn/branch-lift-unnecessary-name-length-limit (2014-03-05) 1 commit
824 (merged to 'next' on 2014-03-12 at bd0fb0e)
825 + branch.c: delete size check of newly tracked branch names
827 Will merge to 'master'.
830 * mh/simplify-cache-tree-find (2014-03-05) 6 commits
831 (merged to 'next' on 2014-03-12 at c29aa24)
832 + cache_tree_find(): use path variable when passing over slashes
833 + cache_tree_find(): remove early return
834 + cache_tree_find(): remove redundant check
835 + cache_tree_find(): fix comment formatting
836 + cache_tree_find(): find the end of path component using strchrnul()
837 + cache_tree_find(): remove redundant checks
839 Will merge to 'master'.
842 * nd/tag-version-sort (2014-02-27) 1 commit
843 (merged to 'next' on 2014-03-14 at 4e7f714)
844 + tag: support --sort=<spec>
846 Allow v1.9.0 sorted before v1.10.0 in "git tag --list" output.
848 Will merge to 'master'.
851 * sh/finish-tmp-packfile (2014-03-03) 2 commits
852 (merged to 'next' on 2014-03-12 at 410d45d)
853 + finish_tmp_packfile():use strbuf for pathname construction
854 + Merge branch 'sh/write-pack-file-warning-message-fix' into sh/finish-tmp-packfile
856 Will merge to 'master'.
859 * jk/diff-filespec-cleanup (2014-02-24) 1 commit
860 (merged to 'next' on 2014-03-12 at 184c2aa)
861 + diffcore.h: be explicit about the signedness of is_binary
863 Portability fix to a topic already in v1.9
865 Will merge to 'master' and then later to 'maint'.
868 * jk/repack-pack-keep-objects (2014-03-03) 1 commit
869 (merged to 'next' on 2014-03-12 at 3fd2335)
870 + repack: add `repack.packKeptObjects` config var
872 Will merge to 'master'.
875 * nd/sha1-file-delta-stack-leakage-fix (2014-02-24) 1 commit
876 (merged to 'next' on 2014-03-12 at 9d1a621)
877 + sha1_file: fix delta_stack memory leak in unpack_entry
879 Fix a small leak in the delta stack used when resolving a long
880 delta chain at runtime.
882 Will merge to 'master' and then later to 'maint'.
885 * tc/commit-dry-run-exit-status-tests (2014-02-24) 1 commit
886 (merged to 'next' on 2014-03-12 at b839886)
887 + demonstrate git-commit --dry-run exit code behaviour
890 * fc/transport-helper-fixes (2014-02-24) 7 commits
891 (merged to 'next' on 2014-03-12 at 5d7c69a)
892 + remote-bzr: support the new 'force' option
893 + test-hg.sh: tests are now expected to pass
894 + transport-helper.c: do not overwrite forced bit
895 + transport-helper: check for 'forced update' message
896 + transport-helper: add 'force' to 'export' helpers
897 + transport-helper: don't update refs in dry-run
898 + transport-helper: mismerge fix
900 Updates transport-helper, fast-import and fast-export to allow the
901 ref mapping and ref deletion in a way similar to the natively
902 supported transports.
904 Will merge to 'master'.
907 * nd/commit-editor-cleanup (2014-02-25) 3 commits
908 - commit: add --cleanup=scissors
909 - wt-status.c: move cut-line print code out to wt_status_add_cut_line
910 - wt-status.c: make cut_line[] const to shrink .data section a bit
912 "git commit --cleanup=<mode>" learned a new mode, scissors.
914 Will merge to 'next'.
917 * po/git-help-user-manual (2014-02-18) 1 commit
918 - Provide a 'git help user-manual' route to the docbook
920 I am not sure if this is even needed.
925 * nd/multiple-work-trees (2014-03-06) 28 commits
926 - FIXUP: minimum compilation fix
927 - count-objects: report unused files in $GIT_DIR/repos/...
928 - gc: support prune --repos
929 - gc: style change -- no SP before closing bracket
930 - prune: strategies for linked checkouts
931 - checkout: detach if the branch is already checked out elsewhere
932 - checkout: clean up half-prepared directories in --to mode
933 - checkout: support checking out into a new working directory
934 - use new wrapper write_file() for simple file writing
935 - wrapper.c: wrapper to open a file, fprintf then close
936 - setup.c: support multi-checkout repo setup
937 - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
938 - setup.c: convert check_repository_format_gently to use strbuf
939 - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
940 - setup.c: convert is_git_directory() to use strbuf
941 - git-stash: avoid hardcoding $GIT_DIR/logs/....
942 - *.sh: avoid hardcoding $GIT_DIR/hooks/...
943 - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
944 - Add new environment variable $GIT_COMMON_DIR
945 - commit: use SEQ_DIR instead of hardcoding "sequencer"
946 - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
947 - reflog: avoid constructing .lock path with git_path
948 - *.sh: respect $GIT_INDEX_FILE
949 - Make git_path() aware of file relocation in $GIT_DIR
950 - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
951 - path.c: rename vsnpath() to do_git_path()
952 - Convert git_snpath() to strbuf_git_path()
953 - path.c: make get_pathname() return strbuf instead of static buffer
955 The series needs a serious review.
958 * ks/tree-diff-nway (2014-03-04) 19 commits
959 - combine-diff: speed it up, by using multiparent diff tree-walker directly
960 - tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
961 - Portable alloca for Git
962 - tree-diff: reuse base str(buf) memory on sub-tree recursion
963 - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
964 - tree-diff: rework diff_tree interface to be sha1 based
965 - tree-diff: diff_tree() should now be static
966 - tree-diff: remove special-case diff-emitting code for empty-tree cases
967 - tree-diff: simplify tree_entry_pathcmp
968 - tree-diff: show_path prototype is not needed anymore
969 - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
970 - tree-diff: move all action-taking code out of compare_tree_entry()
971 - tree-diff: don't assume compare_tree_entry() returns -1,0,1
972 - tree-diff: consolidate code for emitting diffs and recursion in one place
973 - tree-diff: show_tree() is not needed
974 - tree-diff: no need to pass match to skip_uninteresting()
975 - tree-diff: no need to manually verify that there is no mode change for a path
976 - combine-diff: move changed-paths scanning logic into its own function
977 - combine-diff: move show_log_first logic/action out of paths scanning
979 Instead of running N pair-wise diff-trees when inspecting a
980 N-parent merge, find the set of paths that were touched by walking
981 N+1 trees in parallel. These set of paths can then be turned into
982 N pair-wise diff-tree results to be processed through rename
983 detections and such. And N=2 case nicely degenerates to the usual
984 2-way diff-tree, which is very nice.
987 * nd/log-show-linear-break (2014-02-10) 1 commit
988 - log: add --show-linear-break to help see non-linear history
990 Attempts to show where a single-strand-of-pearls break in "git log"
996 * tr/remerge-diff (2014-02-26) 5 commits
997 . log --remerge-diff: show what the conflict resolution changed
998 . name-hash: allow dir hashing even when !ignore_case
999 . merge-recursive: allow storing conflict hunks in index
1000 . revision: fold all merge diff variants into an enum merge_diff_mode
1001 . combine-diff: do not pass revs->dense_combined_merges redundantly
1002 (this branch uses tr/merge-recursive-index-only.)
1004 "log -p" output learns a new way to let users inspect a merge
1005 commit by showing the differences between the automerged result
1006 with conflicts the person who recorded the merge would have seen
1007 and the final conflict resolution that was recorded in the merge.
1009 RFC. This latest round clashes with the kb/fast-hashmap topic in
1013 * lt/request-pull (2014-03-13) 6 commits
1014 - request-pull: documentation updates
1015 - request-pull: resurrect "pretty refname" feature
1016 - request-pull: test updates
1017 - request-pull: pick up tag message as before
1018 - request-pull: allow "local:remote" to specify names on both ends
1019 - request-pull: more strictly match local/remote branches
1021 Will merge to 'next'.
1024 * cc/interpret-trailers (2014-03-07) 11 commits
1025 - Documentation: add documentation for 'git interpret-trailers'
1026 - trailer: add tests for commands in config file
1027 - trailer: execute command from 'trailer.<name>.command'
1028 - trailer: add tests for "git interpret-trailers"
1029 - trailer: add interpret-trailers command
1030 - trailer: put all the processing together and print
1031 - trailer: parse trailers from stdin
1032 - trailer: process command line trailer arguments
1033 - trailer: read and process config information
1034 - trailer: process trailers from stdin and arguments
1035 - trailers: add data structures and basic functions
1037 A new filter to programatically edit the tail end of the commit log
1041 * bl/blame-full-history (2014-01-14) 1 commit
1042 - blame: new option --prefer-first to better handle merged cherry-picks
1044 By disabling the tree-same optimization (which is consistent with
1045 the default behaviour of "git log"-family of commands), make "git
1046 blame" sometimes produce different result from the original code.
1048 Because the "git blame" output can give result for each line from
1049 only one lineage of the history, however, this can be only useful
1050 when you are lucky---unlike "--full-history" of "git log"-family,
1051 where we can show commits from both lineages of histories with an
1052 equal weight. See $gmane/240392 for more detailed discussion.
1057 * tr/merge-recursive-index-only (2014-02-05) 3 commits
1058 - merge-recursive: -Xindex-only to leave worktree unchanged
1059 - merge-recursive: internal flag to avoid touching the worktree
1060 - merge-recursive: remove dead conditional in update_stages()
1061 (this branch is used by tr/remerge-diff.)
1065 --------------------------------------------------
1068 * tb/repack-fix-renames (2014-02-05) 1 commit
1069 . repack.c: rename a few variables
1071 Perhaps unneeded, as the longer-term plan is to drop the codeblock
1072 this change touches.
1075 * ks/diff-c-with-diff-order (2014-02-03) 5 commits
1076 . combine-diff: simplify intersect_paths() further
1077 . combine-diff: combine_diff_path.len is not needed anymore
1078 . combine-diff: optimize combine_diff_path sets intersection
1079 . diff test: add tests for combine-diff with orderfile
1080 . diffcore-order: export generic ordering interface
1082 Now part of ks/combine-diff topic.
1085 * ks/tree-diff-more (2014-02-24) 15 commits
1086 - tree-diff: reuse base str(buf) memory on sub-tree recursion
1087 - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
1088 - tree-diff: rework diff_tree interface to be sha1 based
1089 - tree-diff: remove special-case diff-emitting code for empty-tree cases
1090 - tree-diff: simplify tree_entry_pathcmp
1091 - tree-diff: show_path prototype is not needed anymore
1092 - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
1093 - tree-diff: move all action-taking code out of compare_tree_entry()
1094 - tree-diff: don't assume compare_tree_entry() returns -1,0,1
1095 - tree-diff: consolidate code for emitting diffs and recursion in one place
1096 - tree-diff: show_tree() is not needed
1097 - tree-diff: no need to pass match to skip_uninteresting()
1098 - tree-diff: no need to manually verify that there is no mode change for a path
1099 - combine-diff: move changed-paths scanning logic into its own function
1100 - combine-diff: move show_log_first logic/action out of paths scanning
1101 (this branch is used by ks/tree-diff-nway; uses ks/combine-diff.)
1105 Now part of ks/tree-diff-nway.