diff --git a/whats-cooking.txt b/whats-cooking.txt index d699ca9074..20d803f66d 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Mar 2013, #08; Fri, 29) -X-master-at: 631bc94e67383b66da190550866566f09d32f299 -X-next-at: 26eb6e9fce877ff55db93fee605b878939872a5a +Subject: What's cooking in git.git (Apr 2013, #01; Mon, 1) +X-master-at: cc3e4eba723570bf77902c017611ee02bb86c8b3 +X-next-at: 5a7d8b8c6ff8c59f4ad782e539b1d511ca6f2e63 -What's cooking in git.git (Mar 2013, #08; Fri, 29) +What's cooking in git.git (Apr 2013, #01; Mon, 1) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -24,127 +24,308 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ap/combine-diff-ignore-whitespace (2013-03-14) 1 commit - (merged to 'next' on 2013-03-19 at dfb2c98) - + Allow combined diff to ignore white-spaces - (this branch is used by ap/combine-diff-coalesce-lost.) +* bc/append-signed-off-by (2013-02-23) 13 commits + (merged to 'next' on 2013-03-26 at 0e3c79b) + + git-commit: populate the edit buffer with 2 blank lines before s-o-b + + Unify appending signoff in format-patch, commit and sequencer + + format-patch: update append_signoff prototype + + t4014: more tests about appending s-o-b lines + + sequencer.c: teach append_signoff to avoid adding a duplicate newline + + sequencer.c: teach append_signoff how to detect duplicate s-o-b + + sequencer.c: always separate "(cherry picked from" from commit body + + sequencer.c: require a conforming footer to be preceded by a blank line + + sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer + + t/t3511: add some tests of 'cherry-pick -s' functionality + + t/test-lib-functions.sh: allow to specify the tag name to test_commit + + commit, cherry-pick -s: remove broken support for multiline rfc2822 fields + + sequencer.c: rework search for start of footer to improve clarity - Originally merged to 'next' on 2013-03-18 + Consolidates codepaths that inspect log-message-to-be and decide to + add a new Signed-off-by line in various commands. I think there is + no negative behaviour change in this series, but please report any + iffy behaviour change immediately if you notice one. - Teach "diff --cc" output to honor options to ignore various forms - of whitespace changes. +* jc/nobody-sets-src-peer-ref (2013-03-04) 1 commit + (merged to 'next' on 2013-03-26 at 9d13c02) + + match_push_refs(): nobody sets src->peer_ref anymore -* jc/remove-treesame-parent-in-simplify-merges (2013-01-17) 1 commit - (merged to 'next' on 2013-03-26 at 7999dbe) - + simplify-merges: drop merge from irrelevant side branch + Dead code removal. - The --simplify-merges logic did not cull irrelevant parents from a - merge that is otherwise not interesting with respect to the paths - we are following. + Even though I think this change is correct, please report + immediately if you find any unintended side effect. - This touches a fairly core part of the revision traversal - infrastructure; even though I think this change is correct, please - report immediately if you find any unintended side effect. +* jc/remove-export-from-config-mak-in (2013-03-05) 3 commits + (merged to 'next' on 2013-03-26 at a789220) + + Fix `make install` when configured with autoconf + + Makefile: do not export mandir/htmldir/infodir + + config.mak.in: remove unused definitions -* jk/checkout-attribute-lookup (2013-03-20) 3 commits - (merged to 'next' on 2013-03-20 at 43a89e8) - + t2003: work around path mangling issue on Windows - (merged to 'next' on 2013-03-19 at b063a55) - + entry: fix filter lookup - + t2003: modernize style + config.mak.in template had an "export" line to cause a few + common makefile variables to be exported; if they need to be + expoted for autoconf/configure users, they should also be exported + for people who write config.mak the same way. Move the "export" to + the main Makefile. Also, stop exporting mandir that used to be + exported (only) when config.mak.autogen was used. It would have + broken installation of manpages (but not other documentation + formats). - Codepath to stream blob object contents directly from the object - store to filesystem did not use the correct path to find conversion - filters when writing to temporary files. + Even though I think this change is correct, please report + immediately if you find any unintended side effect. -* jk/difftool-dir-diff-edit-fix (2013-03-14) 3 commits - (merged to 'next' on 2013-03-19 at e68014a) - + difftool --dir-diff: symlink all files matching the working tree - + difftool: avoid double slashes in symlink targets - + git-difftool(1): fix formatting of --symlink description +* jk/common-make-variables-export-safety (2013-02-25) 1 commit + (merged to 'next' on 2013-03-26 at 8b7bb16) + + Makefile: make mandir, htmldir and infodir absolute - Originally merged to 'next' on 2013-03-15 + Make the three variables safer to be exported to submakes by + ensuring that they are full paths so that they can be used as + installation location. - "git difftool --dir-diff" made symlinks to working tree files when - preparing a temporary directory structure, so that accidental edits - of these files in the difftool are reflected back to the working - tree, but the logic to decide when to do so was not quite right. + Even though I think this change is correct, please report + immediately if you find any unintended side effect. -* kk/revwalk-slop-too-many-commit-within-a-second (2013-03-22) 1 commit - (merged to 'next' on 2013-03-26 at ea90e75) - + Fix revision walk for commits with the same dates +* jk/index-pack-correct-depth-fix (2013-03-20) 1 commit + (merged to 'next' on 2013-03-26 at c56e839) + + index-pack: always zero-initialize object_entry list - Allow the revision "slop" code to look deeper while commits with - exactly the same timestamps come next to each other (which can - often happen after a large "am" and "rebase" session). + "index-pack --fix-thin" used uninitialize value to compute delta + depths of objects it appends to the resulting pack. -* rr/tests-dedup-test-config (2013-03-19) 1 commit - (merged to 'next' on 2013-03-26 at d314299) - + t4018,7810,7811: remove test_config() redefinition +* jk/pkt-line-cleanup (2013-03-21) 20 commits + (merged to 'next' on 2013-03-26 at 2bb3b75) + + do not use GIT_TRACE_PACKET=3 in tests + + remote-curl: always parse incoming refs + + remote-curl: move ref-parsing code up in file + + remote-curl: pass buffer straight to get_remote_heads + + teach get_remote_heads to read from a memory buffer + + pkt-line: share buffer/descriptor reading implementation + + pkt-line: provide a LARGE_PACKET_MAX static buffer + + pkt-line: move LARGE_PACKET_MAX definition from sideband + + pkt-line: teach packet_read_line to chomp newlines + + pkt-line: provide a generic reading function with options + + pkt-line: drop safe_write function + + pkt-line: move a misplaced comment + + write_or_die: raise SIGPIPE when we get EPIPE + + upload-archive: use argv_array to store client arguments + + upload-archive: do not copy repo name + + send-pack: prefer prefixcmp over memcmp in receive_status + + fetch-pack: fix out-of-bounds buffer offset in get_ack + + upload-pack: remove packet debugging harness + + upload-pack: do not add duplicate objects to shallow list + + upload-pack: use get_sha1_hex to parse "shallow" lines + Cleans up pkt-line API, implementation and its callers to make them + more robust. Even though I think this change is correct, please + report immediately if you find any unintended side effect. -* rs/archive-zip-raw-compression (2013-03-16) 1 commit - (merged to 'next' on 2013-03-19 at 8cc1cb3) - + archive-zip: use deflateInit2() to ask for raw compressed data - Originally merged to 'next' on 2013-03-18 +* jn/push-tests (2013-03-19) 3 commits + (merged to 'next' on 2013-03-26 at da891db) + + push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi' + + push test: simplify check of push result + + push test: use test_config when appropriate + Update t5516 with style fixes. -* yd/doc-is-in-asciidoc (2013-03-21) 1 commit - (merged to 'next' on 2013-03-26 at a980af2) - + CodingGuidelines: our documents are in AsciiDoc +* kb/name-hash (2013-02-27) 1 commit + (merged to 'next' on 2013-03-26 at 750490a) + + name-hash.c: fix endless loop with core.ignorecase=true -* yd/doc-merge-annotated-tag (2013-03-21) 1 commit - (merged to 'next' on 2013-03-26 at a11162f) - + Documentation: merging a tag is a special case + The code to keep track of what directory names are known to Git on + platforms with case insensitive filesystems can get confused upon + a hash collision between these pathnames and looped forever. - Document the 1.7.9 feature to merge a signed tag and keep that in - the mergetag header in the resulting commit better. + Even though I think this change is correct, please report + immediately if you find any unintended side effect. -* yd/use-test-config-unconfig (2013-03-25) 12 commits - (merged to 'next' on 2013-03-26 at 55b69a9) - + t7600: use test_config to set/unset git config variables - + t7502: remove clear_config - + t7502: use test_config to set/unset git config variables - + t9500: use test_config to set/unset git config variables - + t7508: use test_config to set/unset git config variables - + t7500: use test_config to set/unset git config variables - + t5541: use test_config to set/unset git config variables - + t5520: use test_config to set/unset git config variables - + t4202: use test_config/test_unconfig to set/unset git config variables - + t4034: use test_config/test_unconfig to set/unset git config variables - + t4304: use test_config to set/unset git config variables - + t3400: use test_config to set/unset git config variables +* nd/branch-show-rebase-bisect-state (2013-03-23) 7 commits + (merged to 'next' on 2013-03-26 at cd666f6) + + status, branch: fix the misleading "bisecting" message + + branch: show more information when HEAD is detached + + status: show more info than "currently not on any branch" + + wt-status: move wt_status_get_state() out to wt_status_print() + + wt-status: split wt_status_state parsing function out + + wt-status: move strbuf into read_and_strip_branch() + + Merge branch 'jc/reflog-reverse-walk' into nd/branch-show-rebase-bisect-state - Bulk-update of the test suite. + "git status" shows a bit more info during a bisect/rebase session. + + +* nd/index-pack-threaded-fixes (2013-03-19) 2 commits + (merged to 'next' on 2013-03-26 at e508c77) + + index-pack: guard nr_resolved_deltas reads by lock + + index-pack: protect deepest_delta in multithread code + + "index-pack --verify-stat" used a few counters outside protection + of mutex, possibly showing incorrect numbers. + + +* rr/test-3200-style (2013-03-20) 1 commit + (merged to 'next' on 2013-03-26 at 1214287) + + t3200 (branch): modernize style + + Churns. + + +* sr/am-show-final-message-in-applying-indicator (2013-03-21) 1 commit + (merged to 'next' on 2013-03-26 at 9ecb143) + + git-am: show the final log message on "Applying:" indicator + + In addition to the case where the user edits the log message with + the "e)dit" option of "am -i", replace the "Applying: this patch" + message with the final log message contents after applymsg hook + munges it. -------------------------------------------------- [New Topics] +* jc/sha1-name-object-peeler (2013-03-31) 2 commits + (merged to 'next' on 2013-04-01 at cdb4a18) + + peel_onion(): teach $foo^{object} peeler + + peel_onion: disambiguate to favor tree-ish when we know we want a tree-ish + (this branch is used by mh/rev-parse-verify-doc.) + + There was no good way to ask "I have a random string that came from + outside world. I want to turn it into a 40-hex object name while + making sure such an object exists". A new peeling suffix ^{object} + can be used for that purpose, together with "rev-parse --verify". + + +* jm/branch-rename-nothing-error (2013-03-31) 1 commit + (merged to 'next' on 2013-04-01 at 5e5cdaf) + + branch: give better message when no names specified for rename + + "git branch -m" without any argument noticed an error, but with an + incorrect error message. + + Will merge to 'master'. + + +* rr/prompt-revert-head (2013-03-31) 1 commit + (merged to 'next' on 2013-04-01 at 1fc21eb) + + bash: teach __git_ps1 about REVERT_HEAD + + The prompt string generator did not notice when we are in a middle + of a "git revert" session. + + Will merge to 'master'. + + +* rr/send-email-perl-critique (2013-03-31) 3 commits + - send-email: use the three-arg form of open in recipients_cmd + - send-email: drop misleading function prototype + - send-email: use "return;" not "return undef;" on error codepaths + + Broken down from an earlier discussion to pick up reasonable bits + with explanation, to demonstrate how it should be done. + + Will merge to 'next'. + + +* tr/valgrind (2013-04-01) 4 commits + (merged to 'next' on 2013-04-01 at a973c52) + + tests: notice valgrind error in test_must_fail + + tests --valgrind: provide a mode without --track-origins + + tests: parameterize --valgrind option + + t/README: --valgrind already implies -v + + Let us use not just memgrind but other *grind debuggers. + + Will merge to 'master'. + + +* mh/rev-parse-verify-doc (2013-04-01) 2 commits + - SQUASH??? + - rev-parse: clarify documentation for the --verify option + (this branch uses jc/sha1-name-object-peeler.) + + "rev-parse --verify" was documented in a misleading way. + + +* rs/submodule-summary-limit (2013-04-01) 1 commit + (merged to 'next' on 2013-04-01 at 3c18cfe) + + submodule summary: support --summary-limit= + + "submodule summary --summary-limit" option did not support + "--option=value" form. + + Will merge to 'master'. + + +* tb/shared-perm (2013-04-01) 2 commits + - path.c: optimize adjust_shared_perm() + - optimize set_shared_perm() in path.c: + (this branch uses tb/cygwin-shared-repository.) + + Simplifies adjust_shared_perm() implementation. + + +* nd/pretty-formats (2013-04-01) 12 commits + - pretty: support %>> that steal trailing spaces + - pretty: support truncating in %>, %< and %>< + - pretty: support padding placeholders, %< %> and %>< + - pretty: add %C(auto) for auto-coloring on the next placeholder + - pretty: two phase conversion for non utf-8 commits + - utf8: keep NULs in reencode_string() + - pretty: get the correct encoding for --pretty:format=%e + - pretty: save commit encoding from logmsg_reencode if the caller needs it + - utf8.c: add utf8_strnwidth() with the ability to skip ansi sequences + - utf8.c: move display_mode_esc_sequence_len() for use by other functions + - pretty: share code between format_decoration and show_decorations + - pretty-formats.txt: wrap long lines + + A mixed bag of a bugfix and two fun enhancements on pretty formats + placeholder. + + +* jl/submodule-deinit (2013-04-01) 1 commit + - submodule deinit: clarify work tree removal message + + A finishing touch to the new topic in 1.8.3. + + Will merge to 'next'. + +-------------------------------------------------- +[Stalled] + +* jc/format-patch (2013-02-21) 2 commits + - format-patch: --inline-single + - format-patch: rename "no_inline" field + + A new option to send a single patch to the standard output to be + appended at the bottom of a message. I personally have no need for + this, but it was easy enough to cobble together. Tests, docs and + stripping out more MIMEy stuff are left as exercises to interested + parties. + + Not ready for inclusion. + +-------------------------------------------------- +[Cooking] + * js/log-gpg (2013-03-27) 1 commit - - log: read gpg settings for signed commit verification + (merged to 'next' on 2013-03-29 at 9a1b2d3) + + log: read gpg settings for signed commit verification Teach "show/log" honor gpg.program configuration just like other parts of the code that use GnuPG. - Will merge to 'next'. + Will merge to 'master'. * jc/t5516-pushInsteadOf-vs-pushURL (2013-03-28) 1 commit - - t5516: test interaction between pushURL and pushInsteadOf correctly + (merged to 'next' on 2013-04-01 at bed2879) + + t5516: test interaction between pushURL and pushInsteadOf correctly Update a test to match the documented interaction between pushURL and pushInsteadOf. - Will merge to 'next'. - * jk/merge-tree-added-identically (2013-03-27) 1 commit - merge-tree: fix "same file added in subdir" @@ -164,71 +345,57 @@ of the repositories listed at better by introducing remote.pushdefault (overrides the "origin" thing) and branch.*.pushremote (overrides the branch.*.remote). + Expecting a reroll. -* sg/gpg-sig (2013-03-29) 5 commits + +* sg/gpg-sig (2013-03-31) 5 commits - pretty printing: extend %G? to include 'N' and 'U' - merge/pull Check for untrusted good GPG signatures - merge/pull: verify GPG signatures of commits being merged - - commit.c: also look at the first GPG status line + - commit.c/GPG signature verification: Also look at the first GPG status line - Move commit GPG signature verification to commit.c Teach "merge/pull" to optionally verify and reject commits that are not signed properly. - Will merge to 'next'. - * tr/log-tree-optim (2013-03-28) 1 commit - - Avoid loading commits twice in log with diffs + (merged to 'next' on 2013-03-29 at 5a6795d) + + Avoid loading commits twice in log with diffs Optimize "log" that shows the difference between the parent and the child. - Will merge to 'next'. + Will merge to 'master'. * jk/config-with-empty-section (2013-03-29) 1 commit - - t1300: document some aesthetic failures of the config editor + (merged to 'next' on 2013-04-01 at 7972aa9) + + t1300: document some aesthetic failures of the config editor Document that "git config --unset" does not remove an empty section head after removing the last variable in a section, and adding a new variable does not try to reuse a leftover empty section head. - Will merge to 'next'. + Will merge to 'master'. * jk/difftool-no-overwrite-on-copyback (2013-03-29) 5 commits - - t7800: run --dir-diff tests with and without symlinks - - t7800: fix tests when difftool uses --no-symlinks - - t7800: don't hide grep output - - difftool: don't overwrite modified files - - t7800: move '--symlinks' specific test to the end + (merged to 'next' on 2013-03-29 at 9f42d34) + + t7800: run --dir-diff tests with and without symlinks + + t7800: fix tests when difftool uses --no-symlinks + + t7800: don't hide grep output + + difftool: don't overwrite modified files + + t7800: move '--symlinks' specific test to the end Try to be careful when difftool backend allows the user to write into the temporary files being shown *and* the user makes changes to the working tree at the same time. One of the changes has to be lost in such a case, but at least tell the user what he did. + Will merge to 'master'. --------------------------------------------------- -[Stalled] - -* jc/format-patch (2013-02-21) 2 commits - - format-patch: --inline-single - - format-patch: rename "no_inline" field - - A new option to send a single patch to the standard output to be - appended at the bottom of a message. I personally have no need for - this, but it was easy enough to cobble together. Tests, docs and - stripping out more MIMEy stuff are left as exercises to interested - parties. - - Not ready for inclusion. - --------------------------------------------------- -[Cooking] - * jc/apply-ws-fix-tab-in-indent (2013-03-29) 2 commits (merged to 'next' on 2013-03-29 at 26eb6e9) + test: resurrect q_to_tab @@ -255,13 +422,14 @@ of the repositories listed at * ap/combine-diff-coalesce-lost (2013-03-25) 1 commit - - combine-diff: coalesce lost lines optimally + (merged to 'next' on 2013-03-29 at f6a05ca) + + combine-diff: coalesce lost lines optimally Attempts to minimize "diff -c/--cc" output by coalescing the same lines removed from the parents better, but with an O(n^2) complexity. - Will merge to 'next' to see if people with real-world usage scream. + Will cook in 'next' to see if people with real-world usage scream. * bk/document-commit-tree-S (2013-03-25) 1 commit @@ -271,71 +439,80 @@ of the repositories listed at Will merge to 'master'. -* jk/check-corrupt-objects-carefully (2013-03-27) 10 commits - - clone: leave repo in place after checkout errors - - clone: run check_everything_connected - - clone: die on errors from unpack_trees - - add tests for cloning corrupted repositories - - streaming_write_entry: propagate streaming errors - - add test for streaming corrupt blobs - - avoid infinite loop in read_istream_loose - - read_istream_filtered: propagate read error from upstream - - check_sha1_signature: check return value from read_istream - - stream_blob_to_fd: detect errors reading from stream +* jk/check-corrupt-objects-carefully (2013-03-29) 10 commits + (merged to 'next' on 2013-03-29 at b6a04a7) + + clone: leave repo in place after checkout errors + + clone: run check_everything_connected + + clone: die on errors from unpack_trees + + add tests for cloning corrupted repositories + + streaming_write_entry: propagate streaming errors + + add test for streaming corrupt blobs + + avoid infinite loop in read_istream_loose + + read_istream_filtered: propagate read error from upstream + + check_sha1_signature: check return value from read_istream + + stream_blob_to_fd: detect errors reading from stream Have the streaming interface and other codepaths more carefully examine for corrupt objects. - The message in the last one may want to be updated. - $gmane/219229 + Will merge to 'master'. -* js/iterm-is-on-osx (2013-03-25) 1 commit - - git-web--browse: recognize iTerm as a GUI terminal on OS X +* js/iterm-is-on-osx (2013-03-29) 1 commit + (merged to 'next' on 2013-04-01 at 201fed2) + + git-web--browse: recognize any TERM_PROGRAM as a GUI terminal on OS X - Add more logic to detect graphic environment of OS X. + Add more logic to detect graphic environment of OS X by simply + checking TERM_PROGRAM has some value, not Apple_Terminal, to detect + iTerm.app and any other. - We may want to simplify it down to just "is there TERM_PROGRAM?", - but I am not an OS X user. + Will merge to 'master'. * tb/cygwin-shared-repository (2013-03-25) 1 commit - - Make core.sharedRepository work under cygwin 1.7 + (merged to 'next' on 2013-03-29 at dbeb068) + + Make core.sharedRepository work under cygwin 1.7 + (this branch is used by tb/shared-perm.) Cygwin port has a faster-but-lying lstat(2) emulation whose incorrectness does not matter in practice except for a few codepaths, and setting permission bits to directories is a codepath that needs to use a more correct one. - Will merge to 'next'. + Will merge to 'master'. * jc/directory-attrs-regression-fix (2013-03-28) 6 commits - - t: check that a pattern without trailing slash matches a directory - - dir.c::match_pathname(): pay attention to the length of string parameters - - dir.c::match_pathname(): adjust patternlen when shifting pattern - - dir.c::match_basename(): pay attention to the length of string parameters - - attr.c::path_matches(): special case paths that end with a slash - - attr.c::path_matches(): the basename is part of the pathname + (merged to 'next' on 2013-03-29 at a3dce2b) + + t: check that a pattern without trailing slash matches a directory + + dir.c::match_pathname(): pay attention to the length of string parameters + + dir.c::match_pathname(): adjust patternlen when shifting pattern + + dir.c::match_basename(): pay attention to the length of string parameters + + attr.c::path_matches(): special case paths that end with a slash + + attr.c::path_matches(): the basename is part of the pathname Fix 1.8.1.x regression that stopped matching "dir" (without trailing slash) to a directory "dir". - Will merge to 'next'. + Will merge to 'master'. * nd/checkout-paths-reduce-match-pathspec-calls (2013-03-27) 1 commit - - checkout: avoid unnecessary match_pathspec calls + (merged to 'next' on 2013-03-29 at fbcc004) + + checkout: avoid unnecessary match_pathspec calls Consolidate repeated pathspec matches on the same paths, while fixing a bug in "git checkout dir/" code started from an unmerged index. - Will merge to 'next'. + Will merge to 'master'. -* jc/merge-tag-object (2013-03-19) 1 commit - - merge: a random object may not necssarily be a commit +* jc/merge-tag-object (2013-04-01) 3 commits + - t6200: test message for merging of an annotated tag + - t6200: use test_config/test_unconfig + (merged to 'next' on 2013-03-29 at aeec39c) + + merge: a random object may not necssarily be a commit "git merge $(git rev-parse v1.8.2)" behaved quite differently from "git merge v1.8.2" as if v1.8.2 were written as v1.8.2^0 and did @@ -346,66 +523,33 @@ of the repositories listed at (i.e. the name appears in refs/tags/) to decide when to special case merging of tags. - We may actually want to call the current behaviour a feature, - though. After all, the user went to great length to feed something - different from the normal "v1.8.2" to the command. - Will merge to 'next'. -* jk/index-pack-correct-depth-fix (2013-03-20) 1 commit - (merged to 'next' on 2013-03-26 at c56e839) - + index-pack: always zero-initialize object_entry list - - "index-pack --fix-thin" used uninitialize value to compute delta - depths of objects it appends to the resulting pack. - - Will merge to 'master'. - - -* jn/push-tests (2013-03-19) 3 commits - (merged to 'next' on 2013-03-26 at da891db) - + push test: rely on &&-chaining instead of 'if bad; then echo Oops; fi' - + push test: simplify check of push result - + push test: use test_config when appropriate - - Update t5516 with style fixes. - - Will merge to 'master'. - - -* nd/index-pack-threaded-fixes (2013-03-19) 2 commits - (merged to 'next' on 2013-03-26 at e508c77) - + index-pack: guard nr_resolved_deltas reads by lock - + index-pack: protect deepest_delta in multithread code - - "index-pack --verify-stat" used a few counters outside protection - of mutex, possibly showing incorrect numbers. - - Will merge to 'master'. - - * kb/status-ignored-optim (2013-03-19) 8 commits - - dir.c: git-status: avoid is_excluded checks for tracked files - - dir.c: replace is_path_excluded with now equivalent is_excluded API - - dir.c: unify is_excluded and is_path_excluded APIs - - dir.c: move prep_exclude and factor out parts of last_exclude_matching - - dir.c: git-status --ignored: don't list empty directories as ignored - - dir.c: git-status --ignored: don't list empty ignored directories - - dir.c: git-status --ignored: don't list files in ignored directories - - dir.c: git-status --ignored: don't drop ignored directories + (merged to 'next' on 2013-04-01 at 0c12ed9) + + dir.c: git-status: avoid is_excluded checks for tracked files + + dir.c: replace is_path_excluded with now equivalent is_excluded API + + dir.c: unify is_excluded and is_path_excluded APIs + + dir.c: move prep_exclude and factor out parts of last_exclude_matching + + dir.c: git-status --ignored: don't list empty directories as ignored + + dir.c: git-status --ignored: don't list empty ignored directories + + dir.c: git-status --ignored: don't list files in ignored directories + + dir.c: git-status --ignored: don't drop ignored directories "git status --ignored" had many corner case bugs. Also the command has been optimized by taking advantage of the fact that paths that are already known to the index do not have to be checked against the .gitignore mechanism most of the time. - Expecting a review from others; this codepath is used not only by - status but also in add and clean, so a bug in it can result in lost - data. + Will cook in 'next'. + This codepath is used not only by status but also in add and clean, + so a bug in it can result in lost data. Extra sets of eyeballs are + very much appreciated. -* jn/add-2.0-u-A-sans-pathspec (2013-03-20) 5 commits + +* jn/add-2.0-u-A-sans-pathspec (2013-04-01) 5 commits - git add: -u/-A now affects the entire working tree - add -A: only show pathless 'add -A' warning when changes exist outside cwd - add -u: only show pathless 'add -u' warning when changes exist outside cwd @@ -420,39 +564,19 @@ of the repositories listed at $gmane/219342 -* rr/test-3200-style (2013-03-20) 1 commit - (merged to 'next' on 2013-03-26 at 1214287) - + t3200 (branch): modernize style - - Churns. - - Will merge to 'master'. - - * tr/packed-object-info-wo-recursion (2013-03-27) 3 commits - - sha1_file: remove recursion in unpack_entry - - Refactor parts of in_delta_base_cache/cache_or_unpack_entry - - sha1_file: remove recursion in packed_object_info + (merged to 'next' on 2013-03-29 at b1c3858) + + sha1_file: remove recursion in unpack_entry + + Refactor parts of in_delta_base_cache/cache_or_unpack_entry + + sha1_file: remove recursion in packed_object_info Attempts to reduce the stack footprint of sha1_object_info() and unpack_entry() codepaths. - Will merge to 'next'. - + Will cook in 'next'. -* sr/am-show-final-message-in-applying-indicator (2013-03-21) 1 commit - (merged to 'next' on 2013-03-26 at 9ecb143) - + git-am: show the final log message on "Applying:" indicator - In addition to the case where the user edits the log message with - the "e)dit" option of "am -i", replace the "Applying: this patch" - message with the final log message contents after applymsg hook - munges it. - - Will merge to 'master'. - - -* nd/magic-pathspecs (2013-03-23) 45 commits +* nd/magic-pathspecs (2013-03-31) 45 commits - Rename field "raw" to "_raw" in struct pathspec - pathspec: support :(glob) syntax - pathspec: make --literal-pathspecs disable pathspec magic @@ -511,19 +635,6 @@ of the repositories listed at Will merge to 'master'. -* nd/branch-show-rebase-bisect-state (2013-03-23) 7 commits - (merged to 'next' on 2013-03-26 at cd666f6) - + status, branch: fix the misleading "bisecting" message - + branch: show more information when HEAD is detached - + status: show more info than "currently not on any branch" - + wt-status: move wt_status_get_state() out to wt_status_print() - + wt-status: split wt_status_state parsing function out - + wt-status: move strbuf into read_and_strip_branch() - + Merge branch 'jc/reflog-reverse-walk' into nd/branch-show-rebase-bisect-state - - Will merge to 'master'. - - * jc/add-2.0-delete-default (2013-03-08) 3 commits - git add ... defaults to "-A" - git add: start preparing for "git add ..." to default to "-A" @@ -540,107 +651,16 @@ of the repositories listed at Will cook in 'next' until Git 2.0. -* jc/nobody-sets-src-peer-ref (2013-03-04) 1 commit - (merged to 'next' on 2013-03-26 at 9d13c02) - + match_push_refs(): nobody sets src->peer_ref anymore - - Dead code removal. - - Even though I think this change is correct, please report - immediately if you find any unintended side effect. - - Will merge to 'master' in the 4th batch (Risky). - - -* kb/name-hash (2013-02-27) 1 commit - (merged to 'next' on 2013-03-26 at 750490a) - + name-hash.c: fix endless loop with core.ignorecase=true - - The code to keep track of what directory names are known to Git on - platforms with case insensitive filesystems can get confused upon - a hash collision between these pathnames and looped forever. - - Even though I think this change is correct, please report - immediately if you find any unintended side effect. - - Will merge to 'master' in the 4th batch (Risky). - - * tr/line-log (2013-03-28) 5 commits - - Speed up log -L... -M - - log -L: :pattern:file syntax to find by funcname - - Implement line-history search (git log -L) - - Export rewrite_parents() for 'log -L' - - Refactor parse_loc - - Rerolled. + (merged to 'next' on 2013-04-01 at 5be920c) + + Speed up log -L... -M + + log -L: :pattern:file syntax to find by funcname + + Implement line-history search (git log -L) + + Export rewrite_parents() for 'log -L' + + Refactor parse_loc - Will merge to 'next'. - - -* jk/common-make-variables-export-safety (2013-02-25) 1 commit - (merged to 'next' on 2013-03-26 at 8b7bb16) - + Makefile: make mandir, htmldir and infodir absolute - - Make the three variables safer to be exported to submakes by - ensuring that they are full paths so that they can be used as - installation location. - - Even though I think this change is correct, please report - immediately if you find any unintended side effect. - - Will merge to 'master' in the 4th batch (Risky). - - -* jk/pkt-line-cleanup (2013-03-21) 20 commits - (merged to 'next' on 2013-03-26 at 2bb3b75) - + do not use GIT_TRACE_PACKET=3 in tests - + remote-curl: always parse incoming refs - + remote-curl: move ref-parsing code up in file - + remote-curl: pass buffer straight to get_remote_heads - + teach get_remote_heads to read from a memory buffer - + pkt-line: share buffer/descriptor reading implementation - + pkt-line: provide a LARGE_PACKET_MAX static buffer - + pkt-line: move LARGE_PACKET_MAX definition from sideband - + pkt-line: teach packet_read_line to chomp newlines - + pkt-line: provide a generic reading function with options - + pkt-line: drop safe_write function - + pkt-line: move a misplaced comment - + write_or_die: raise SIGPIPE when we get EPIPE - + upload-archive: use argv_array to store client arguments - + upload-archive: do not copy repo name - + send-pack: prefer prefixcmp over memcmp in receive_status - + fetch-pack: fix out-of-bounds buffer offset in get_ack - + upload-pack: remove packet debugging harness - + upload-pack: do not add duplicate objects to shallow list - + upload-pack: use get_sha1_hex to parse "shallow" lines - - Cleans up pkt-line API, implementation and its callers to make them - more robust. Even though I think this change is correct, please - report immediately if you find any unintended side effect. - - Will merge to 'master' in the 3rd batch (Risky). - - -* jc/remove-export-from-config-mak-in (2013-03-05) 3 commits - (merged to 'next' on 2013-03-26 at a789220) - + Fix `make install` when configured with autoconf - + Makefile: do not export mandir/htmldir/infodir - + config.mak.in: remove unused definitions - - config.mak.in template had an "export" line to cause a few - common makefile variables to be exported; if they need to be - expoted for autoconf/configure users, they should also be exported - for people who write config.mak the same way. Move the "export" to - the main Makefile. Also, stop exporting mandir that used to be - exported (only) when config.mak.autogen was used. It would have - broken installation of manpages (but not other documentation - formats). - - Even though I think this change is correct, please report - immediately if you find any unintended side effect. - - Will merge to 'master' in the 4th batch (Risky). + Will merge down to 'master' with warts and all, hoping they get + fixed eventually in-tree. * jc/push-2.0-default-to-simple (2013-03-18) 15 commits @@ -661,124 +681,3 @@ of the repositories listed at - t5404: do not assume the "matching" push is the default Will cook in 'next' until Git 2.0. - - -* bc/append-signed-off-by (2013-02-23) 13 commits - (merged to 'next' on 2013-03-26 at 0e3c79b) - + git-commit: populate the edit buffer with 2 blank lines before s-o-b - + Unify appending signoff in format-patch, commit and sequencer - + format-patch: update append_signoff prototype - + t4014: more tests about appending s-o-b lines - + sequencer.c: teach append_signoff to avoid adding a duplicate newline - + sequencer.c: teach append_signoff how to detect duplicate s-o-b - + sequencer.c: always separate "(cherry picked from" from commit body - + sequencer.c: require a conforming footer to be preceded by a blank line - + sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer - + t/t3511: add some tests of 'cherry-pick -s' functionality - + t/test-lib-functions.sh: allow to specify the tag name to test_commit - + commit, cherry-pick -s: remove broken support for multiline rfc2822 fields - + sequencer.c: rework search for start of footer to improve clarity - - Consolidates codepaths that inspect log-message-to-be and decide to - add a new Signed-off-by line in various commands. I think there is - no negative behaviour change in this series, but please report any - iffy behaviour change immediately if you notice one. - - Will merge to 'master' in the 3rd batch (Risky). - --------------------------------------------------- -[Discarded] - -* nd/read-directory-recursive-optim (2013-02-17) 1 commit - . read_directory: avoid invoking exclude machinery on tracked files - - "git status" has been optimized by taking advantage of the fact - that paths that are already known to the index do not have to be - checked against the .gitignore mechanism under some conditions. - Even though I think this change is correct, please report - immediately if you find any unintended side effect. - - kb/status-ignored-optim supersedes this. - - -* jc/add-2.0-u-A-sans-pathspec (2013-03-14) 1 commit - . git add: -u/-A now affects the entire working tree - - "git add -u/-A" without pathspec has traditonally limited its - operation to the current directory and its subdirectories, but in - Git 1.8.2 we started encouraging users to be more explicit to - specify "." when they mean it (and use ":/" to make it affect the - entire working tree). With this, we finally change the behaviour - and make it affect the entire working tree in Git 2.0. - - jn/add-2.0-u-A-sans-pathspec supersedes this. - - -* ja/directory-attrs (2013-03-20) 1 commit - . trailing slash required in .gitattributes - - Now part of jc/directory-attrs-regression-fix. - - -* hv/config-from-strbuf (2013-03-10) 4 commits - . teach config parsing to read from strbuf - . config: make parsing stack struct independent from actual data source - . config: drop file pointer validity check in get_next_char() - . config: factor out config file stack management - - Was expecting a reroll. - $gmane/217811 - - -* mb/gitweb-highlight-link-target (2012-12-20) 1 commit - . Highlight the link target line in Gitweb using CSS - - Was expecting a reroll. - $gmane/211935 - - -* mb/remote-default-nn-origin (2012-07-11) 6 commits - . Teach get_default_remote to respect remote.default. - . Test that plain "git fetch" uses remote.default when on a detached HEAD. - . Teach clone to set remote.default. - . Teach "git remote" about remote.default. - . Teach remote.c about the remote.default configuration setting. - . Rename remote.c's default_remote_name static variables. - - When the user does not specify what remote to interact with, we - often attempt to use 'origin'. This can now be customized via a - configuration variable. - - Was expecting a reroll. - $gmane/210151 - - "The first remote becomes the default" bit is better done as a - separate step. - - -* mg/qnx6 (2013-02-25) 1 commit - . QNX: newer QNX 6.x.x is not so crippled - - Not ready for inclusion. - - -* po/help-guides (2013-03-03) 5 commits - . help doc: include --guide option description - . help.c: add list_common_guides_help() function - . help.c: add --guide option - . help.c: use OPT_COUNTUP - . show 'git help ' usage, with examples - - Give more visibility to "concept guides" to help "git help" users. - - Was (and still is) expecting a reroll. - $gmane/217384 - - -* jk/t7800-modernize (2013-03-23) 3 commits - . t7800: run --dir-diff tests with and without symlinks - . t7800: fix tests when difftool uses --no-symlinks - . t7800: don't hide grep output - - Superseded by jk/difftool-no-overwrite-on-copyback. -