Browse Source

What's cooking (2015/01 #02)

todo
Junio C Hamano 10 years ago
parent
commit
425d7e4435
  1. 831
      whats-cooking.txt

831
whats-cooking.txt

@ -1,19 +1,26 @@ @@ -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 @@ -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<indented text>\n" when the payload began
with a HT. Instead, produce "#\t<indented text>\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=<date> 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=<value>
- 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 @@ -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 @@ -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 <existing> <same-url>'
- 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 <existing> <same-url>'
+ 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 @@ -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 @@ -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 @@ -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<indented text>\n" when the payload began
with a HT. Instead, produce "#\t<indented text>\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 @@ -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.

Loading…
Cancel
Save