From 425d7e44351de7e762810f96705e935d1ced30ee Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Mon, 12 Jan 2015 15:52:30 -0800 Subject: [PATCH] What's cooking (2015/01 #02) --- whats-cooking.txt | 831 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 461 insertions(+), 370 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 19b0121eb7..28ca27749e 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,19 +1,26 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Jan 2015, #01; Tue, 6) -X-master-at: c5b9256360b06efb9453c1627b78b14598e288b8 -X-next-at: cc831f245cfe79ce0a9b574baf3c07960f338270 +Subject: What's cooking in git.git (Jan 2015, #02; Mon, 12) +X-master-at: addfb21a94fb4e6b9d07b270f7bb3748767a8f38 +X-next-at: e64df63be2ed715bed73607afec1eb4bd0a8f3ce -What's cooking in git.git (Jan 2015, #01; Tue, 6) +What's cooking in git.git (Jan 2015, #02; Mon, 12) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'. -A (somewhat belated) happy new year, everybody. Sorry for being -silent for a few more days than I intended to. I'll try to get sick -and recover before a long holiday ends the next time. +The "preview" release candidate 2.3-rc0 has been tagged. With the +slowness from the end-of-year holiday, this cycle turns out to be a +relatively lean one as I predicted (just 200 changes since 2.2, as +opposed to ~500 changes in an normal cycle), but that is fine. From +time to time it is OK to have a release that does not add many new +things but just fixes niggles here and there. + +A new maintenance release 2.2.2 is also out, which backports many +fixes that were not in 2.2.1 that have been used on 'master' for the +past few weeks. You can find the changes described here in the integration branches of the repositories listed at @@ -21,89 +28,361 @@ of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- -[New Topics] +[Graduated to "master"] -* cj/grep-none-match (2015-01-06) 1 commit - - git-log: added --none-match option +* bb/update-unicode-table (2014-12-22) 5 commits + (merged to 'next' on 2014-12-23 at b4ce669) + + update_unicode.sh: delete the command group + + update_unicode.sh: make the output structure visible + + update_unicode.sh: shorten uniset invocation path + + update_unicode.sh: set UNICODE_DIR only once + + update_unicode.sh: simplify output capture - "git log --none-match --grep=WIP" will show only commits that are - not marked as WIP. + Simplify the procedure to generate unicode table. - I think "git grep -l --none-match -e foo -e bar" ought to work with - the same change but the patch does not seem to go far enough to do - so. +* bc/fetch-thin-less-aggressive-in-normal-repository (2014-12-29) 3 commits + (merged to 'next' on 2015-01-07 at 60f9ada) + + pack-objects: use --objects-edge-aggressive for shallow repos + + rev-list: add an option to mark fewer edges as uninteresting + + Documentation: add missing article in rev-list-options.txt -* jk/prune-packed-server-info (2015-01-06) 2 commits - - update-server-info: create info/* with mode 0666 - - t1301: set umask in reflog sharedrepository=group test + Earlier we made "rev-list --object-edge" more aggressively list the + objects at the edge commits, in order to reduce number of objects + fetched into a shallow repository, but the change affected cases + other than "fetching into a shallow repository" and made it + unusably slow (e.g. fetching into a normal repository should not + have to suffer the overhead from extra processing). Limit it to a + more specific case by introducing --objects-edge-aggressive, a new + option to rev-list. - Fix recent breakage in Git 2.2 that started creating info/refs and - objects/info/packs files with permission bits tighter than user's - umask. +* br/imap-send-verbosity (2014-11-05) 1 commit + (merged to 'next' on 2014-12-15 at 504af0b) + + imap-send: use parse options API to determine verbosity + (this branch is used by br/imap-send-via-libcurl and km/imap-send-libcurl-options.) -* km/imap-send-libcurl-options (2015-01-06) 2 commits - - imap-send.c: set CURLOPT_USE_SSL to CURLUSESSL_TRY - - imap-send.c: support GIT_CURL_VERBOSE - (this branch uses br/imap-send-verbosity and br/imap-send-via-libcurl.) + "git imap-send" learned to take "-v" (verbose) and "-q" (quiet) + command line options. - Now imap-send learned to talk to the server using cURL library, - allow the same GIT_CURL_VERBOSE environment variable to control the - verbosity of the chattering. - Will merge to 'next'. +* br/imap-send-via-libcurl (2014-11-10) 1 commit + (merged to 'next' on 2014-12-15 at 90db637) + + git-imap-send: use libcurl for implementation + (this branch is used by km/imap-send-libcurl-options; uses br/imap-send-verbosity.) + Newer libCurl knows how to talk IMAP; "git imap-send" has been + updated to use this instead of a hand-rolled OpenSSL calls. -* km/log-usage-string-i18n (2015-01-06) 1 commit - - log.c: fix translation markings - Will merge to 'next'. +* bw/maint-0090-awk-tweak (2014-12-23) 1 commit + (merged to 'next' on 2014-12-29 at 9301c36) + + t0090: tweak awk statement for Solaris /usr/xpg4/bin/awk -* rc/for-each-ref-tracking (2015-01-06) 2 commits - - SQUASH??? - - for-each-ref: always check stat_tracking_info()'s return value +* cc/bisect-rev-parsing (2014-12-29) 2 commits + (merged to 'next' on 2015-01-07 at 7b76eed) + + bisect: add test to check that revs are properly parsed + + bisect: parse revs before passing them to check_expected_revs() - Will merge to 'next', probably after squashing the fixup. + The logic in "git bisect bad HEAD" etc. to avoid forcing the test + of the common ancestor of bad and good commits was broken. -* rh/test-color-avoid-terminfo-in-original-home (2015-01-06) 1 commit - - test-lib.sh: do tests for color support after changing HOME +* es/checkout-index-temp (2014-12-29) 5 commits + (merged to 'next' on 2015-01-07 at d45c06d) + + checkout-index: fix --temp relative path mangling + + t2004: demonstrate broken relative path printing + + t2004: standardize file naming in symlink test + + t2004: drop unnecessary write-tree/read-tree + + t2004: modernize style - We try to see if "tput" gives a useful result before switching TERM - to dumb and moving HOME to point to our fake location for stability - of the tests, and then use the command when coloring the output - from the tests, but there is no guarantee "tput" works after - switching HOME. + "git checkout-index --temp=$target $path" did not work correctly + for paths outside the current subdirectory in the project. - Will merge to 'next'. -* sp/subtree-doc (2015-01-06) 1 commit - - subtree: fix AsciiDoc list item continuation +* es/squelch-openssl-warnings-on-macosx (2014-12-18) 1 commit + (merged to 'next' on 2014-12-23 at e88cf6a) + + git-compat-util: suppress unavoidable Apple-specific deprecation warnings + + Squelch useless compiler warnings on Mac OS X. - Will merge to 'next'. + +* jc/checkout-local-track-report (2014-10-14) 1 commit + (merged to 'next' on 2014-12-15 at e91a7df) + + checkout: report upstream correctly even with loosely defined branch.*.merge + + The report from "git checkout" on a branch that builds on another + local branch by setting its branch.*.merge to branch name (not a + full refname) incorrectly said that the upstream is gone. + + +* jc/clone-borrow (2014-10-15) 1 commit + (merged to 'next' on 2014-12-15 at 08fdf77) + + clone: --dissociate option to mark that reference is only temporary + + Allow "git clone --reference" to be used more safely. + + +* jc/diff-b-m (2014-10-23) 1 commit + (merged to 'next' on 2014-12-15 at 59c6636) + + diff -B -M: fix output for "copy and then rewrite" case + + Fix long-standing bug in "diff -B -M" output. + + +* jc/merge-bases (2014-10-30) 2 commits + (merged to 'next' on 2014-12-15 at cac279e) + + get_merge_bases(): always clean-up object flags + + bisect: clean flags after checking merge bases + + The get_merge_bases*() API was easy to misuse by careless + copy&paste coders, leaving object flags tainted in the commits that + needed to be traversed. + + +* jc/strbuf-add-lines-avoid-sp-ht-sequence (2014-10-27) 1 commit + (merged to 'next' on 2014-12-15 at b499889) + + strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines + + The commented output used to blindly add a SP before the payload + line, resulting in "# \t\n" when the payload began + with a HT. Instead, produce "#\t\n". + + +* jh/pre-push-sample-no-custom-ifs (2014-12-22) 1 commit + (merged to 'next' on 2014-12-29 at c516021) + + pre-push.sample: remove unnecessary and misleading IFS=' ' + + The sample pre-push hook used customized IFS=' ' for no good reason. + + +* jk/add-i-read-error (2014-12-15) 1 commit + (merged to 'next' on 2014-12-23 at 9b76001) + + add--interactive: leave main loop on read error + + "git add -i" did not notice when the interactive command input + stream went away and kept asking. + + +* jk/approxidate-avoid-y-d-m-over-future-dates (2014-11-13) 2 commits + (merged to 'next' on 2014-12-15 at 397e986) + + approxidate: allow ISO-like dates far in the future + + pass TIME_DATE_NOW to approxidate future-check + + Traditionally we tried to avoid interpreting date strings given by + the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when + used early November 2014 was taken as "October 12, 2014" because it + is likely that a date in the future, December 10, is a mistake. + + This heuristics has been loosened to allow people to express future + dates (most notably, --until= may want to be far in the + future) and we no longer tiebreak by future-ness of the date when + + (1) ISO-like format is used, and + (2) the string can make sense interpreted as both y-m-d and y-d-m. + + Git may still have to use the heuristics to tiebreak between dd/mm/yy + and mm/dd/yy, though. + + +* lh/send-email-hide-x-mailer (2014-12-15) 2 commits + (merged to 'next' on 2014-12-23 at fc16c68) + + test/send-email: --[no-]xmailer tests + + send-email: add --[no-]xmailer option + + "git send-email" normally identifies itself via X-Mailer: header + in the message it sends out. A new command line flag allows the + header to be squelched. + + +* nd/lockfile-absolute (2014-11-03) 1 commit + (merged to 'next' on 2014-12-15 at 34db9af) + + lockfile.c: store absolute path + + The lockfile API can get confused which file to clean up when the + process moved the $cwd after creating a lockfile. + + +* pd/completion-filenames-fix (2014-12-15) 1 commit + (merged to 'next' on 2014-12-23 at e2b10ab) + + Update documentation occurrences of filename .sh + + The top-of-the-file instruction for completion scripts (in contrib/) + did not name the files correctly. + + +* rd/send-email-2047-fix (2014-12-15) 2 commits + (merged to 'next' on 2014-12-23 at 2b101ce) + + send-email: handle adjacent RFC 2047-encoded words properly + + send-email: align RFC 2047 decoding more closely with the spec + + "git send-email" did not handle RFC 2047 encoded headers quite + right. + + +* rs/plug-strbuf-leak-in-lock-ref (2014-12-29) 1 commit + (merged to 'next' on 2015-01-07 at 4d4a600) + + refs: plug strbuf leak in lock_ref_sha1_basic() + + +* rs/plug-strbuf-leak-in-merge (2014-12-29) 1 commit + (merged to 'next' on 2015-01-07 at 2cb8cea) + + merge: release strbuf after use in suggest_conflicts() + + +* rs/simplify-parsing-commit-tree-S (2014-12-29) 1 commit + (merged to 'next' on 2015-01-07 at 51446e0) + + commit-tree: simplify parsing of option -S using skip_prefix() + + +* rs/simplify-transport-get (2014-12-29) 1 commit + (merged to 'next' on 2015-01-07 at cd27fc8) + + transport: simplify duplicating a substring in transport_get() using xmemdupz() + + +* sb/dco-indentation-fix (2014-12-22) 1 commit + (merged to 'next' on 2014-12-23 at c865690) + + Documentation/SubmittingPatches: unify whitespace/tabs for the DCO + + +* sb/doc-submitting-patches-keep-notes (2015-01-07) 1 commit + (merged to 'next' on 2015-01-07 at c362440) + + SubmittingPatches: explain rationale for using --notes with format-patch + + +* sb/t5400-remove-unused (2014-12-16) 1 commit + (merged to 'next' on 2014-12-23 at a992011) + + t5400: remove dead code + + +* tf/prompt-preserve-exit-status (2014-12-22) 1 commit + (merged to 'next' on 2014-12-23 at dfcd89f) + + git-prompt: preserve value of $? inside shell prompt + + Using the exit status of the last command in the prompt, e.g. + PS1='$(__git_ps1) $? ', did not work well because the helper + function stomped on the exit status. -------------------------------------------------- -[Stalled] +[New Topics] -* jn/rerere-fail-on-auto-update-failure (2014-12-03) 2 commits - - SQUASH??? - - rerere: error out on autoupdate failure +* lf/blame-commit-label (2015-01-12) 1 commit + . blame.c: fix garbled error message - Will be rerolled as a part of a larger series. + Needs fixing. -* jn/doc-api-errors (2014-12-04) 1 commit - - doc: document error handling functions and conventions +* aw/doc-smtp-ssl-cert-path (2015-01-07) 1 commit + (merged to 'next' on 2015-01-12 at 61d0b22) + + correct smtp-ssl-cert-path description - For discussion. + A long overdue documentation update to match an age-old code + update. + Will merge to 'master'. -* sb/copy-fd-errno (2014-11-17) 1 commit - - copy.c: make copy_fd preserve meaningful errno - Will be rerolled as a part of a larger series. +* mm/complete-rebase-autostash (2015-01-07) 1 commit + (merged to 'next' on 2015-01-12 at edcdead) + + git-completion: add --autostash for 'git rebase' + + Will merge to 'master'. + + +* rh/hide-prompt-in-ignored-directory (2015-01-07) 2 commits + (merged to 'next' on 2015-01-12 at 9aed017) + + git-prompt.sh: allow to hide prompt for ignored pwd + + git-prompt.sh: if pc mode, immediately set PS1 to a plain prompt + + Will merge to 'master'. + + +* bc/http-fallback-to-password-after-krb-fails (2015-01-07) 1 commit + (merged to 'next' on 2015-01-12 at 4c67038) + + remote-curl: fall back to Basic auth if Negotiate fails + + After attempting and failing a password-less authentication + (e.g. kerberos), libcURL refuses to fall back to password based + Basic authentication without a bit of help/encouragement. + + Will cook in 'next'. + + +* bp/diff-relative-config (2015-01-07) 2 commits + - diff: teach diff.relative to give default to --relative= + - diff: teach --no-relative to override earlier --relative + + +* dk/format-patch-ignore-diff-submodule (2015-01-07) 2 commits + (merged to 'next' on 2015-01-12 at 6b4605b) + + format-patch: ignore diff.submodule setting + + t4255: test am submodule with diff.submodule + + Setting diff.submodule to 'log' made "git format-patch" produce + broken patches. + + Will cook in 'next'. + + +* nd/attr-optim (2014-12-29) 3 commits + - attr: avoid heavy work when we know the specified attr is not defined + - attr: do not attempt to expand when we know it's not a macro + - attr.c: rename arg name attr_nr to avoid shadowing the global one + + +* ak/doc-add-v-n-options (2015-01-09) 1 commit + (merged to 'next' on 2015-01-12 at 0888edf) + + Documentation: list long options for -v and -n + + Will merge to 'master'. + + +* ak/fewer-includes (2015-01-09) 2 commits + (merged to 'next' on 2015-01-12 at d425e96) + + cat-file: remove unused includes + + git.c: remove unnecessary #includes + + Will merge to 'master'. + + +* ak/show-branch-usage-string (2015-01-08) 1 commit + (merged to 'next' on 2015-01-12 at 3a0de03) + + show-branch: line-wrap show-branch usage + + Will merge to 'master'. + + +* cj/log-invert-grep (2015-01-12) 1 commit + (merged to 'next' on 2015-01-12 at 4589ca2) + + log: teach --invert-grep option + + Will cook in 'next'. + + +* km/gettext-n (2015-01-12) 1 commit + (merged to 'next' on 2015-01-12 at 0cbbf4a) + + gettext.h: add parentheses around N_ expansion if supported + + Will cook in 'next'. + + +* rh/autoconf-rhel3 (2015-01-09) 3 commits + (merged to 'next' on 2015-01-12 at 57f125c) + + configure.ac: check for HMAC_CTX_cleanup + + configure.ac: check for clock_gettime and CLOCK_MONOTONIC + + configure.ac: check 'tv_nsec' field in 'struct stat' + + Build update for older RHEL. + + Will merge to 'master'. +-------------------------------------------------- +[Stalled] + +* jn/doc-api-errors (2014-12-04) 1 commit + - doc: document error handling functions and conventions + + For discussion. * ye/http-accept-language (2014-12-22) 1 commit @@ -140,35 +419,12 @@ of the repositories listed at - git-quiltimport.sh: allow declining fuzz with --exact option "quiltimport" drove "git apply" always with -C1 option to reduce - context of the patch in order to give more chance to somewhat stale - patches to apply. Add an "--exact" option to disable, and also - "-C$n" option to customize this behaviour. The top patch - optionally flips the default to "--exact". - - Tired of waiting for an Ack; will discard. - - -* jc/push-cert-hmac-optim (2014-09-25) 2 commits - - receive-pack: truncate hmac early and convert only necessary bytes - - sha1_to_hex: split out "hex-format n bytes" helper and use it - - This is "we could do this if we wanted to", not "we measured and it - improves performance critical codepath". - - Will perhaps drop. - - -* mt/patch-id-stable (2014-06-10) 1 commit - - patch-id: change default to stable - - Teaches "git patch-id" to compute the patch ID that does not change - when the files in a single patch is reordered. As this new algorithm - is backward incompatible, the last bit to flip it to be the default - is left out of 'master' for now. + context of the patch in order to give more chance to somewhat stale + patches to apply. Add an "--exact" option to disable, and also + "-C$n" option to customize this behaviour. The top patch + optionally flips the default to "--exact". - Nobody seems to be jumping up & down requesting this last step, - which makes the result somewhat backward incompatible. - Will perhaps drop. + Tired of waiting for an Ack; will discard. * tr/remerge-diff (2014-11-10) 9 commits @@ -273,189 +529,133 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* bw/maint-0090-awk-tweak (2014-12-23) 1 commit - (merged to 'next' on 2014-12-29 at 9301c36) - + t0090: tweak awk statement for Solaris /usr/xpg4/bin/awk - - Will merge to 'master'. - - -* cc/bisect-rev-parsing (2014-12-29) 2 commits - - bisect: add test to check that revs are properly parsed - - bisect: parse revs before passing them to check_expected_revs() - - The logic in "git bisect bad HEAD" etc. to avoid forcing the test - of the common ancestor of bad and good commits was broken. - - Will merge to 'next'. - - -* es/checkout-index-temp (2014-12-29) 5 commits - - checkout-index: fix --temp relative path mangling - - t2004: demonstrate broken relative path printing - - t2004: standardize file naming in symlink test - - t2004: drop unnecessary write-tree/read-tree - - t2004: modernize style - - "git checkout-index --temp=$target $path" did not work correctly - for paths outside the current subdirectory in the project. - - Will merge to 'next'. - - -* js/remote-add-with-insteadof (2014-12-23) 2 commits - - Add a regression test for 'git remote add ' - - git remote: allow adding remotes agreeing with url.<...>.insteadOf - - "git remote add $name $URL" is now allowed when "url.$URL.insteadOf" - is already defined. - - -* rs/plug-strbuf-leak-in-lock-ref (2014-12-29) 1 commit - - refs: plug strbuf leak in lock_ref_sha1_basic() - - Will merge to 'next'. +* jn/rerere-fail-on-auto-update-failure (2015-01-08) 1 commit + (merged to 'next' on 2015-01-12 at 313c449) + + rerere: error out on autoupdate failure + "git rerere" (invoked internally from many mergy operations) did + not correctly signal errors when told to update the working tree + files and failed to do so for whatever reason. -* rs/plug-strbuf-leak-in-merge (2014-12-29) 1 commit - - merge: release strbuf after use in suggest_conflicts() + Will cook in 'next'. - Will merge to 'next'. +* jk/prune-packed-server-info (2015-01-06) 2 commits + (merged to 'next' on 2015-01-12 at 5e789e2) + + update-server-info: create info/* with mode 0666 + + t1301: set umask in reflog sharedrepository=group test -* rs/simplify-parsing-commit-tree-S (2014-12-29) 1 commit - - commit-tree: simplify parsing of option -S using skip_prefix() + Fix recent breakage in Git 2.2 that started creating info/refs and + objects/info/packs files with permission bits tighter than user's + umask. - Will merge to 'next'. + Will merge to 'master'. -* rs/simplify-transport-get (2014-12-29) 1 commit - - transport: simplify duplicating a substring in transport_get() using xmemdupz() +* km/imap-send-libcurl-options (2015-01-06) 2 commits + (merged to 'next' on 2015-01-12 at 5bb8802) + + imap-send.c: set CURLOPT_USE_SSL to CURLUSESSL_TRY + + imap-send.c: support GIT_CURL_VERBOSE - Will merge to 'next'. + Now imap-send learned to talk to the server using cURL library, + allow the same GIT_CURL_VERBOSE environment variable to control the + verbosity of the chattering. + Will merge to 'master'. -* sb/doc-submitting-patches-keep-notes (2014-12-29) 1 commit - - Documentation/SubmittingPatches: Explain the rationale of git notes - Will merge to 'next'. +* km/log-usage-string-i18n (2015-01-06) 1 commit + (merged to 'next' on 2015-01-12 at 437bf8a) + + log.c: fix translation markings + Will merge to 'master'. -* bb/update-unicode-table (2014-12-22) 5 commits - (merged to 'next' on 2014-12-23 at b4ce669) - + update_unicode.sh: delete the command group - + update_unicode.sh: make the output structure visible - + update_unicode.sh: shorten uniset invocation path - + update_unicode.sh: set UNICODE_DIR only once - + update_unicode.sh: simplify output capture - Simplify the procedure to generate unicode table. +* rc/for-each-ref-tracking (2015-01-12) 1 commit + (merged to 'next' on 2015-01-12 at 94eef27) + + for-each-ref: always check stat_tracking_info()'s return value Will merge to 'master'. -* bc/fetch-thin-less-aggressive-in-normal-repository (2014-12-29) 3 commits - - pack-objects: use --objects-edge-aggressive for shallow repos - - rev-list: add an option to mark fewer edges as uninteresting - - Documentation: add missing article in rev-list-options.txt - - Earlier we made "rev-list --object-edge" more aggressively list the - objects at the edge commits, in order to reduce number of objects - fetched into a shallow repository, but the change affected cases - other than "fetching into a shallow repository" and made it - unusably slow (e.g. fetching into a normal repository should not - have to suffer the overhead from extra processing). Limit it to a - more specific case by introducing --objects-edge-aggressive, a new - option to rev-list. +* rh/test-color-avoid-terminfo-in-original-home (2015-01-07) 2 commits + (merged to 'next' on 2015-01-12 at eac0b93) + + test-lib.sh: do tests for color support after changing HOME + + test-lib: use 'test ...' instead of '[ ... ]' - Will merge to 'next'. + We try to see if "tput" gives a useful result before switching TERM + to dumb and moving HOME to point to our fake location for stability + of the tests, and then use the command when coloring the output + from the tests, but there is no guarantee "tput" works after + switching HOME. + Will merge to 'master'. -* es/squelch-openssl-warnings-on-macosx (2014-12-18) 1 commit - (merged to 'next' on 2014-12-23 at e88cf6a) - + git-compat-util: suppress unavoidable Apple-specific deprecation warnings - Squelch useless compiler warnings on Mac OS X. +* sp/subtree-doc (2015-01-06) 1 commit + (merged to 'next' on 2015-01-12 at 7c488d6) + + subtree: fix AsciiDoc list item continuation Will merge to 'master'. -* jh/pre-push-sample-no-custom-ifs (2014-12-22) 1 commit - (merged to 'next' on 2014-12-29 at c516021) - + pre-push.sample: remove unnecessary and misleading IFS=' ' +* js/remote-add-with-insteadof (2014-12-23) 2 commits + (merged to 'next' on 2015-01-12 at ccff14f) + + Add a regression test for 'git remote add ' + + git remote: allow adding remotes agreeing with url.<...>.insteadOf - The sample pre-push hook used customized IFS=' ' for no good reason. + "git remote add $name $URL" is now allowed when "url.$URL.insteadOf" + is already defined. Will merge to 'master'. -* sb/atomic-push (2014-12-22) 7 commits - - t5543-atomic-push.sh: add basic tests for atomic pushes - - push.c: add an --atomic argument - - receive-pack: move execute_commands_non_atomic before execute_commands - - receive-pack.c: receive-pack.c: use a single ref_transaction for atomic pushes - - send-pack.c: add --atomic command line argument - - send-pack: rename ref_update_to_be_sent to check_to_send_update - - receive-pack.c: add protocol support to negotiate atomic-push +* sb/atomic-push (2015-01-07) 10 commits + (merged to 'next' on 2015-01-12 at 411c6a6) + + t5543-atomic-push.sh: add basic tests for atomic pushes + + push.c: add an --atomic argument + + send-pack.c: add --atomic command line argument + + send-pack: rename ref_update_to_be_sent to check_to_send_update + + receive-pack.c: negotiate atomic push support + + receive-pack.c: add execute_commands_atomic function + + receive-pack.c: move transaction handling in a central place + + receive-pack.c: move iterating over all commands outside execute_commands + + receive-pack.c: die instead of error in case of possible future bug + + receive-pack.c: shorten the execute_commands loop over all commands (this branch uses mh/reflog-expire.) "git push" has been taught a "--atomic" option that makes push to update more than one ref an "all-or-none" affair. - What is queued here is a few iterations old; need to pick a new one - up when the dust settles. - - -* sb/dco-indentation-fix (2014-12-22) 1 commit - (merged to 'next' on 2014-12-23 at c865690) - + Documentation/SubmittingPatches: unify whitespace/tabs for the DCO - - Will merge to 'master'. - - -* sb/t5400-remove-unused (2014-12-16) 1 commit - (merged to 'next' on 2014-12-23 at a992011) - + t5400: remove dead code - - Will merge to 'master'. - - -* tf/prompt-preserve-exit-status (2014-12-22) 1 commit - (merged to 'next' on 2014-12-23 at dfcd89f) - + git-prompt: preserve value of $? inside shell prompt - - Using the exit status of the last command in the prompt, e.g. - PS1='$(__git_ps1) $? ', did not work well because the helper - function stomped on the exit status. - - Will merge to 'master'. + Will cook in 'next'. * mh/reflog-expire (2014-12-22) 24 commits - - refs.c: let fprintf handle the formatting - - refs.c: don't expose the internal struct ref_lock in the header file - - lock_any_ref_for_update(): inline function - - refs.c: remove unlock_ref/close_ref/commit_ref from the refs api - - reflog_expire(): new function in the reference API - - expire_reflog(): treat the policy callback data as opaque - - Move newlog and last_kept_sha1 to "struct expire_reflog_cb" - - expire_reflog(): move rewrite to flags argument - - expire_reflog(): move verbose to flags argument - - expire_reflog(): pass flags through to expire_reflog_ent() - - struct expire_reflog_cb: a new callback data type - - Rename expire_reflog_cb to expire_reflog_policy_cb - - expire_reflog(): move updateref to flags argument - - expire_reflog(): move dry_run to flags argument - - expire_reflog(): add a "flags" argument - - expire_reflog(): extract two policy-related functions - - Extract function should_expire_reflog_ent() - - expire_reflog(): use a lock_file for rewriting the reflog file - - expire_reflog(): return early if the reference has no reflog - - expire_reflog(): rename "ref" parameter to "refname" - - expire_reflog(): it's not an each_ref_fn anymore - - refs.c: add a function to append a reflog entry to a fd - - refs.c: make ref_transaction_delete a wrapper for ref_transaction_update - - refs.c: make ref_transaction_create a wrapper for ref_transaction_update + (merged to 'next' on 2015-01-12 at 12a7dff) + + refs.c: let fprintf handle the formatting + + refs.c: don't expose the internal struct ref_lock in the header file + + lock_any_ref_for_update(): inline function + + refs.c: remove unlock_ref/close_ref/commit_ref from the refs api + + reflog_expire(): new function in the reference API + + expire_reflog(): treat the policy callback data as opaque + + Move newlog and last_kept_sha1 to "struct expire_reflog_cb" + + expire_reflog(): move rewrite to flags argument + + expire_reflog(): move verbose to flags argument + + expire_reflog(): pass flags through to expire_reflog_ent() + + struct expire_reflog_cb: a new callback data type + + Rename expire_reflog_cb to expire_reflog_policy_cb + + expire_reflog(): move updateref to flags argument + + expire_reflog(): move dry_run to flags argument + + expire_reflog(): add a "flags" argument + + expire_reflog(): extract two policy-related functions + + Extract function should_expire_reflog_ent() + + expire_reflog(): use a lock_file for rewriting the reflog file + + expire_reflog(): return early if the reference has no reflog + + expire_reflog(): rename "ref" parameter to "refname" + + expire_reflog(): it's not an each_ref_fn anymore + + refs.c: add a function to append a reflog entry to a fd + + refs.c: make ref_transaction_delete a wrapper for ref_transaction_update + + refs.c: make ref_transaction_create a wrapper for ref_transaction_update (this branch is used by sb/atomic-push.) Restructure "reflog expire" to fit the reflogs better with the @@ -464,68 +664,28 @@ of the repositories listed at Looked reasonable (except that some shortlog entries stood out like a sore thumb). + Will cook in 'next'. -* po/doc-core-ignorestat (2015-01-06) 3 commits - - SQUASH??? - - doc: core.ignoreStat update, and clarify the --assume-unchanged effect + +* po/doc-core-ignorestat (2015-01-12) 2 commits + (merged to 'next' on 2015-01-12 at c660a71) + + doc: core.ignoreStat update, and clarify the --assume-unchanged effect (merged to 'next' on 2014-12-23 at d2b3e84) + doc: core.ignoreStat clarify the --assume-unchanged effect - Will merge to 'next' after squashing in the fixup. - - -* jk/add-i-read-error (2014-12-15) 1 commit - (merged to 'next' on 2014-12-23 at 9b76001) - + add--interactive: leave main loop on read error - - "git add -i" did not notice when the interactive command input - stream went away and kept asking. - - Will merge to 'master'. - - -* pd/completion-filenames-fix (2014-12-15) 1 commit - (merged to 'next' on 2014-12-23 at e2b10ab) - + Update documentation occurrences of filename .sh - - The top-of-the-file instruction for completion scripts (in contrib/) - did not name the files correctly. - - Will merge to 'master'. - - -* rd/send-email-2047-fix (2014-12-15) 2 commits - (merged to 'next' on 2014-12-23 at 2b101ce) - + send-email: handle adjacent RFC 2047-encoded words properly - + send-email: align RFC 2047 decoding more closely with the spec - - "git send-email" did not handle RFC 2047 encoded headers quite - right. - Will merge to 'master'. -* jc/push-to-checkout (2014-12-01) 2 commits - - receive-pack: support push-to-checkout hook - - receive-pack: refactor updateInstead codepath +* jc/push-to-checkout (2015-01-08) 2 commits + (merged to 'next' on 2015-01-12 at e64df63) + + receive-pack: support push-to-checkout hook + + receive-pack: refactor updateInstead codepath Extending the js/push-to-deploy topic, the behaviour of "git push" when updating the working tree and the index with an update to the branch that is checked out can be tweaked by push-to-checkout hook. - Needs docs. - - -* lh/send-email-hide-x-mailer (2014-12-15) 2 commits - (merged to 'next' on 2014-12-23 at fc16c68) - + test/send-email: --[no-]xmailer tests - + send-email: add --[no-]xmailer option - - "git send-email" normally identifies itself via X-Mailer: header - in the message it sends out. A new command line flag allows the - header to be squelched. - - Will merge to 'master'. + Will cook in 'next'. * nd/list-files (2014-12-01) 19 commits @@ -555,7 +715,10 @@ of the repositories listed at Comments? -* nd/multiple-work-trees (2014-12-01) 34 commits +* nd/multiple-work-trees (2015-01-07) 37 commits + - git-checkout.txt: a note about multiple checkout support for submodules + - checkout: add --ignore-other-wortrees + - checkout: pass whole struct to parse_branchname_arg instead of individual flags - git-common-dir: make "modules/" per-working-directory directory - checkout: do not fail if target is an empty directory - t2025: add a test to make sure grafts is working from a linked checkout @@ -596,76 +759,6 @@ of the repositories listed at by making the borrowee and borrowers aware of each other. -* jk/approxidate-avoid-y-d-m-over-future-dates (2014-11-13) 2 commits - (merged to 'next' on 2014-12-15 at 397e986) - + approxidate: allow ISO-like dates far in the future - + pass TIME_DATE_NOW to approxidate future-check - - Traditionally we tried to avoid interpreting date strings given by - the user as future dates, e.g. GIT_COMMITTER_DATE=2014-12-10 when - used early November 2014 was taken as "October 12, 2014" because it - is likely that a date in the future, December 10, is a mistake. - - Loosen this and do not tiebreak by future-ness of the date when - - (1) ISO-like format is used, and - (2) the string can make sense interpreted as both y-m-d and y-d-m. - - Will merge to 'master'. - - -* br/imap-send-verbosity (2014-11-05) 1 commit - (merged to 'next' on 2014-12-15 at 504af0b) - + imap-send: use parse options API to determine verbosity - (this branch is used by br/imap-send-via-libcurl and km/imap-send-libcurl-options.) - - Will merge to 'master'. - - -* br/imap-send-via-libcurl (2014-11-10) 1 commit - (merged to 'next' on 2014-12-15 at 90db637) - + git-imap-send: use libcurl for implementation - (this branch is used by km/imap-send-libcurl-options; uses br/imap-send-verbosity.) - - Newer libCurl knows how to talk IMAP; "git imap-send" has been - updated to use this instead of a hand-rolled OpenSSL calls. - - Will merge to 'master'. - - -* nd/lockfile-absolute (2014-11-03) 1 commit - (merged to 'next' on 2014-12-15 at 34db9af) - + lockfile.c: store absolute path - - The lockfile API can get confused which file to clean up when the - process moved the $cwd after creating a lockfile. - - Will merge to 'master'. - - -* jc/merge-bases (2014-10-30) 2 commits - (merged to 'next' on 2014-12-15 at cac279e) - + get_merge_bases(): always clean-up object flags - + bisect: clean flags after checking merge bases - - The get_merge_bases*() API was easy to misuse by careless - copy&paste coders, leaving object flags tainted in the commits that - needed to be traversed. - - Will merge to 'master'. - - -* jc/strbuf-add-lines-avoid-sp-ht-sequence (2014-10-27) 1 commit - (merged to 'next' on 2014-12-15 at b499889) - + strbuf_add_commented_lines(): avoid SP-HT sequence in commented lines - - The commented output used to blindly add a SP before the payload - line, resulting in "# \t\n" when the payload began - with a HT. Instead, produce "#\t\n". - - Will merge to 'master'. - - * nd/untracked-cache (2015-01-06) 24 commits - fixup! untracked cache: load from UNTR index extension - untracked cache: guard and disable on system changes @@ -694,34 +787,32 @@ of the repositories listed at Comments? +-------------------------------------------------- +[Discarded] -* jc/diff-b-m (2014-10-23) 1 commit - (merged to 'next' on 2014-12-15 at 59c6636) - + diff -B -M: fix output for "copy and then rewrite" case - - Fix long-standing bug in "diff -B -M" output. +* jc/push-cert-hmac-optim (2014-09-25) 2 commits + . receive-pack: truncate hmac early and convert only necessary bytes + . sha1_to_hex: split out "hex-format n bytes" helper and use it - Will merge to 'master'. + This is "we could do this if we wanted to", not "we measured and it + improves performance critical codepath". -* jc/checkout-local-track-report (2014-10-14) 1 commit - (merged to 'next' on 2014-12-15 at e91a7df) - + checkout: report upstream correctly even with loosely defined branch.*.merge +* mt/patch-id-stable (2014-06-10) 1 commit + . patch-id: change default to stable - The report from "git checkout" on a branch that builds on another - local branch by setting its branch.*.merge to branch name (not a - full refname) incorrectly said that the upstream is gone. + Nobody seems to be jumping up & down requesting this last step, + which makes the result somewhat backward incompatible. - Will merge to 'master'. +* sb/copy-fd-errno (2014-11-17) 1 commit + . copy.c: make copy_fd preserve meaningful errno -* jc/clone-borrow (2014-10-15) 1 commit - (merged to 'next' on 2014-12-15 at 08fdf77) - + clone: --dissociate option to mark that reference is only temporary - Allow "git clone --reference" to be used more safely. +* cj/grep-none-match (2015-01-06) 1 commit + . git-log: added --none-match option - Will merge to 'master'. + "git log --none-match --grep=WIP" will show only commits that are + not marked as WIP. --------------------------------------------------- -[Discarded] + cj/log-invert-grep replaces this. -- 2.11.4.GIT