git
7 years agoSync with maint
Junio C Hamano [Mon, 27 Nov 2017 02:15:09 +0000 (11:15 +0900)] 
Sync with maint

* maint:
  A bit more fixes for 2.15.1
  RelNotes: minor typo fixes in 2.15.1 draft

7 years agoMerge branch 'sw/pull-ipv46-passthru'
Junio C Hamano [Mon, 27 Nov 2017 02:06:40 +0000 (11:06 +0900)] 
Merge branch 'sw/pull-ipv46-passthru'

Contrary to the documentation, "git pull -4/-6 other-args" did not
ask the underlying "git fetch" to go over IPv4/IPv6, which has been
corrected.

* sw/pull-ipv46-passthru:
  pull: pass -4/-6 option to 'git fetch'

7 years agoMerge branch 'ks/rebase-no-git-foo'
Junio C Hamano [Mon, 27 Nov 2017 02:06:39 +0000 (11:06 +0900)] 
Merge branch 'ks/rebase-no-git-foo'

Mentions of "git-rebase" and "git-am" (dashed form) still remained
in end-user visible strings emitted by the "git rebase" command;
they have been corrected.

* ks/rebase-no-git-foo:
  git-rebase: clean up dashed-usages in messages

7 years agoMerge branch 'rs/config-write-section-fix'
Junio C Hamano [Mon, 27 Nov 2017 02:06:38 +0000 (11:06 +0900)] 
Merge branch 'rs/config-write-section-fix'

There was a recent semantic mismerge in the codepath to write out a
section of a configuration section, which has been corrected.

* rs/config-write-section-fix:
  config: flip return value of write_section()

7 years agoMerge branch 'ew/rebase-mboxrd'
Junio C Hamano [Mon, 27 Nov 2017 02:06:37 +0000 (11:06 +0900)] 
Merge branch 'ew/rebase-mboxrd'

When "git rebase" prepared an mailbox of changes and fed it to "git
am" to replay them, it was confused when a stray "From " happened
to be in the log message of one of the replayed changes.  This has
been corrected.

* ew/rebase-mboxrd:
  rebase: use mboxrd format to avoid split errors

7 years agoMerge branch 'tb/add-renormalize'
Junio C Hamano [Mon, 27 Nov 2017 02:06:37 +0000 (11:06 +0900)] 
Merge branch 'tb/add-renormalize'

"git add --renormalize ." is a new and safer way to record the fact
that you are correcting the end-of-line convention and other
"convert_to_git()" glitches in the in-repository data.

* tb/add-renormalize:
  add: introduce "--renormalize"

7 years agoMerge branch 'tz/complete-branch-copy'
Junio C Hamano [Mon, 27 Nov 2017 02:06:37 +0000 (11:06 +0900)] 
Merge branch 'tz/complete-branch-copy'

Command line completion (in contrib/) has been taught about the
"--copy" option of "git branch".

* tz/complete-branch-copy:
  completion: add '--copy' option to 'git branch'

7 years agoMerge branch 'rs/apply-inaccurate-eof-with-incomplete-line'
Junio C Hamano [Mon, 27 Nov 2017 02:06:36 +0000 (11:06 +0900)] 
Merge branch 'rs/apply-inaccurate-eof-with-incomplete-line'

"git apply --inaccurate-eof" when used with "--ignore-space-change"
triggered an internal sanity check, which has been fixed.

* rs/apply-inaccurate-eof-with-incomplete-line:
  apply: update line lengths for --inaccurate-eof

7 years agoMerge branch 'pw/sequencer-recover-from-unlockable-index'
Junio C Hamano [Mon, 27 Nov 2017 02:06:35 +0000 (11:06 +0900)] 
Merge branch 'pw/sequencer-recover-from-unlockable-index'

The sequencer machinery (used by "git cherry-pick A..B", and "git
rebase -i", among other things) would have lost a commit if stopped
due to an unlockable index file, which has been fixed.

* pw/sequencer-recover-from-unlockable-index:
  sequencer: reschedule pick if index can't be locked

7 years agoMerge branch 'sd/branch-copy'
Junio C Hamano [Mon, 27 Nov 2017 02:06:35 +0000 (11:06 +0900)] 
Merge branch 'sd/branch-copy'

Code clean-up.

* sd/branch-copy:
  config: avoid "write_in_full(fd, buf, len) != len" pattern

7 years agoMerge branch 'sb/test-cherry-pick-submodule-getting-in-a-way'
Junio C Hamano [Mon, 27 Nov 2017 02:06:34 +0000 (11:06 +0900)] 
Merge branch 'sb/test-cherry-pick-submodule-getting-in-a-way'

The three-way merge performed by "git cherry-pick" was confused
when a new submodule was added in the meantime, which has been
fixed (or "papered over").

* sb/test-cherry-pick-submodule-getting-in-a-way:
  merge-recursive: handle addition of submodule on our side of history
  t/3512: demonstrate unrelated submodule/file conflict as cherry-pick failure

7 years agoMerge branch 'tz/notes-error-to-stderr'
Junio C Hamano [Mon, 27 Nov 2017 02:06:34 +0000 (11:06 +0900)] 
Merge branch 'tz/notes-error-to-stderr'

"git notes" sent its error message to its standard output stream,
which was corrected.

* tz/notes-error-to-stderr:
  notes: send "Automatic notes merge failed" messages to stderr

7 years agoMerge branch 'tz/redirect-fix'
Junio C Hamano [Mon, 27 Nov 2017 02:06:33 +0000 (11:06 +0900)] 
Merge branch 'tz/redirect-fix'

A few scripts (both in production and tests) incorrectly redirected
their error output.  These have been corrected.

* tz/redirect-fix:
  rebase: fix stderr redirect in apply_autostash()
  t/lib-gpg: fix gpgconf stderr redirect to /dev/null

7 years agoMerge branch 'rv/sendemail-tocmd-in-config-and-completion'
Junio C Hamano [Mon, 27 Nov 2017 02:06:32 +0000 (11:06 +0900)] 
Merge branch 'rv/sendemail-tocmd-in-config-and-completion'

Teach "sendemail.tocmd" to places that know about "sendemail.to",
like documentation and shell completion (in contrib/).

* rv/sendemail-tocmd-in-config-and-completion:
  completion: add git config sendemail.tocmd
  Documentation/config: add sendemail.tocmd to list preceding "See git-send-email(1)"

7 years agoMerge branch 'jc/merge-base-fork-point-doc'
Junio C Hamano [Mon, 27 Nov 2017 02:06:32 +0000 (11:06 +0900)] 
Merge branch 'jc/merge-base-fork-point-doc'

Clarify and enhance documentation for "merge-base --fork-point", as
it was clear what it computed but not why/what for.

* jc/merge-base-fork-point-doc:
  merge-base --fork-point doc: clarify the example and failure modes

7 years agoMerge branch 'jc/ignore-cr-at-eol'
Junio C Hamano [Mon, 27 Nov 2017 02:06:31 +0000 (11:06 +0900)] 
Merge branch 'jc/ignore-cr-at-eol'

The "diff" family of commands learned to ignore differences in
carriage return at the end of line.

* jc/ignore-cr-at-eol:
  diff: --ignore-cr-at-eol
  xdiff: reassign xpparm_t.flags bits

7 years agoA bit more fixes for 2.15.1
Junio C Hamano [Mon, 27 Nov 2017 01:58:31 +0000 (10:58 +0900)] 
A bit more fixes for 2.15.1

We've been waiting long enough, a few more would not hurt ;-)

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'ma/reduce-heads-leakfix' into maint
Junio C Hamano [Mon, 27 Nov 2017 01:57:02 +0000 (10:57 +0900)] 
Merge branch 'ma/reduce-heads-leakfix' into maint

Leak fixes.

* ma/reduce-heads-leakfix:
  reduce_heads: fix memory leaks
  builtin/merge-base: free commit lists

7 years agoMerge branch 'ma/bisect-leakfix' into maint
Junio C Hamano [Mon, 27 Nov 2017 01:57:02 +0000 (10:57 +0900)] 
Merge branch 'ma/bisect-leakfix' into maint

Leak fixes.

* ma/bisect-leakfix:
  bisect: fix memory leak when returning best element
  bisect: fix off-by-one error in `best_bisection_sorted()`
  bisect: fix memory leak in `find_bisection()`
  bisect: change calling-convention of `find_bisection()`

7 years agoMerge branch 'rs/apply-fuzzy-match-fix' into maint
Junio C Hamano [Mon, 27 Nov 2017 01:57:02 +0000 (10:57 +0900)] 
Merge branch 'rs/apply-fuzzy-match-fix' into maint

A fix for an ancient bug in "git apply --ignore-space-change" codepath.

* rs/apply-fuzzy-match-fix:
  apply: avoid out-of-bounds access in fuzzy_matchlines()

7 years agoMerge branch 'ad/submitting-patches-title-decoration' into maint
Junio C Hamano [Mon, 27 Nov 2017 01:57:01 +0000 (10:57 +0900)] 
Merge branch 'ad/submitting-patches-title-decoration' into maint

Doc update around use of "format-patch --subject-prefix" etc.

* ad/submitting-patches-title-decoration:
  doc/SubmittingPatches: correct subject guidance

7 years agoMerge branch 'rs/imap-send-next-arg-fix' into maint
Junio C Hamano [Mon, 27 Nov 2017 01:57:00 +0000 (10:57 +0900)] 
Merge branch 'rs/imap-send-next-arg-fix' into maint

Error checking in "git imap-send" for empty response has been
improved.

* rs/imap-send-next-arg-fix:
  imap-send: handle missing response codes gracefully
  imap-send: handle NULL return of next_arg()

7 years agoRelNotes: minor typo fixes in 2.15.1 draft
Todd Zullinger [Sat, 25 Nov 2017 17:32:40 +0000 (12:32 -0500)] 
RelNotes: minor typo fixes in 2.15.1 draft

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoSync with maint
Junio C Hamano [Tue, 21 Nov 2017 05:11:40 +0000 (14:11 +0900)] 
Sync with maint

* maint:
  Almost ready for 2.15.1

7 years agoRelNotes: the fifth batch for 2.16
Junio C Hamano [Tue, 21 Nov 2017 05:11:06 +0000 (14:11 +0900)] 
RelNotes: the fifth batch for 2.16

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'rs/apply-fuzzy-match-fix'
Junio C Hamano [Tue, 21 Nov 2017 05:07:52 +0000 (14:07 +0900)] 
Merge branch 'rs/apply-fuzzy-match-fix'

A fix for an ancient bug in "git apply --ignore-space-change" codepath.

* rs/apply-fuzzy-match-fix:
  apply: avoid out-of-bounds access in fuzzy_matchlines()

7 years agoMerge branch 'ad/submitting-patches-title-decoration'
Junio C Hamano [Tue, 21 Nov 2017 05:07:51 +0000 (14:07 +0900)] 
Merge branch 'ad/submitting-patches-title-decoration'

Doc update around use of "format-patch --subject-prefix" etc.

* ad/submitting-patches-title-decoration:
  doc/SubmittingPatches: correct subject guidance

7 years agoMerge branch 'av/fsmonitor'
Junio C Hamano [Tue, 21 Nov 2017 05:07:51 +0000 (14:07 +0900)] 
Merge branch 'av/fsmonitor'

Various fixes to bp/fsmonitor topic.

* av/fsmonitor:
  fsmonitor: simplify determining the git worktree under Windows
  fsmonitor: store fsmonitor bitmap before splitting index
  fsmonitor: read from getcwd(), not the PWD environment variable
  fsmonitor: delay updating state until after split index is merged
  fsmonitor: document GIT_TRACE_FSMONITOR
  fsmonitor: don't bother pretty-printing JSON from watchman
  fsmonitor: set the PWD to the top of the working tree

7 years agoMerge branch 'bp/fsmonitor'
Junio C Hamano [Tue, 21 Nov 2017 05:07:50 +0000 (14:07 +0900)] 
Merge branch 'bp/fsmonitor'

We learned to talk to watchman to speed up "git status" and other
operations that need to see which paths have been modified.

* bp/fsmonitor:
  fsmonitor: preserve utf8 filenames in fsmonitor-watchman log
  fsmonitor: read entirety of watchman output
  fsmonitor: MINGW support for watchman integration
  fsmonitor: add a performance test
  fsmonitor: add a sample integration script for Watchman
  fsmonitor: add test cases for fsmonitor extension
  split-index: disable the fsmonitor extension when running the split index test
  fsmonitor: add a test tool to dump the index extension
  update-index: add fsmonitor support to update-index
  ls-files: Add support in ls-files to display the fsmonitor valid bit
  fsmonitor: add documentation for the fsmonitor extension.
  fsmonitor: teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
  update-index: add a new --force-write-index option
  preload-index: add override to enable testing preload-index
  bswap: add 64 bit endianness helper get_be64

7 years agoAlmost ready for 2.15.1
Junio C Hamano [Tue, 21 Nov 2017 05:07:08 +0000 (14:07 +0900)] 
Almost ready for 2.15.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'rs/sequencer-rewrite-file-cleanup' into maint
Junio C Hamano [Tue, 21 Nov 2017 05:05:33 +0000 (14:05 +0900)] 
Merge branch 'rs/sequencer-rewrite-file-cleanup' into maint

Code cleanup.

* rs/sequencer-rewrite-file-cleanup:
  sequencer.c: check return value of close() in rewrite_file()
  sequencer: use O_TRUNC to truncate files
  sequencer: factor out rewrite_file()

7 years agoMerge branch 'cb/t4201-robustify' into maint
Junio C Hamano [Tue, 21 Nov 2017 05:05:33 +0000 (14:05 +0900)] 
Merge branch 'cb/t4201-robustify' into maint

A test update.

* cb/t4201-robustify:
  t4201: make use of abbreviation in the test more robust

7 years agoMerge branch 'tz/fsf-address-update' into maint
Junio C Hamano [Tue, 21 Nov 2017 05:05:32 +0000 (14:05 +0900)] 
Merge branch 'tz/fsf-address-update' into maint

Replace the mailing address of FSF to a URL, as FSF prefers.

* tz/fsf-address-update:
  Replace Free Software Foundation address in license notices
  Replace Free Software Foundation address in license notices

7 years agoMerge branch 'ad/rebase-i-serie-typofix' into maint
Junio C Hamano [Tue, 21 Nov 2017 05:05:32 +0000 (14:05 +0900)] 
Merge branch 'ad/rebase-i-serie-typofix' into maint

Typofix.

* ad/rebase-i-serie-typofix:
  rebase -i: fix comment typo

7 years agoMerge branch 'jk/info-alternates-fix' into maint
Junio C Hamano [Tue, 21 Nov 2017 05:05:31 +0000 (14:05 +0900)] 
Merge branch 'jk/info-alternates-fix' into maint

We used to add an empty alternate object database to the system
that does not help anything; it has been corrected.

* jk/info-alternates-fix:
  link_alt_odb_entries: make empty input a noop

7 years agoMerge branch 'ab/pcre-v2' into maint
Junio C Hamano [Tue, 21 Nov 2017 05:05:30 +0000 (14:05 +0900)] 
Merge branch 'ab/pcre-v2' into maint

Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed.

* ab/pcre-v2:
  grep: fix NO_LIBPCRE1_JIT to fully disable JIT

7 years agoMerge branch 'sr/wrapper-quote-filenames' into maint
Junio C Hamano [Tue, 21 Nov 2017 05:05:29 +0000 (14:05 +0900)] 
Merge branch 'sr/wrapper-quote-filenames' into maint

Some error messages did not quote filenames shown in it, which have
been fixed.

* sr/wrapper-quote-filenames:
  wrapper.c: consistently quote filenames in error messages

7 years agoMerge branch 'bw/rebase-i-ignored-submodule-fix' into maint
Junio C Hamano [Tue, 21 Nov 2017 05:05:29 +0000 (14:05 +0900)] 
Merge branch 'bw/rebase-i-ignored-submodule-fix' into maint

"git rebase -i" recently started misbehaving when a submodule that
is configured with 'submodule.<name>.ignore' is dirty; this has
been corrected.

* bw/rebase-i-ignored-submodule-fix:
  wt-status: actually ignore submodules when requested

7 years agogit-jump: give contact instructions in the README
Jeff King [Mon, 20 Nov 2017 19:18:46 +0000 (14:18 -0500)] 
git-jump: give contact instructions in the README

Let's make it clear how patches should flow into
contrib/git-jump. The normal Git maintainer does not
necessarily care about things in contrib/, and authors of
individual components should be the ones giving the final
review/ack for a patch. Ditto for bug reports, which are
likely to get more attention from the area expert.

Signed-off-by: Jeff King <peff@peff.net>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agocontrib/git-jump: allow to configure the grep command
Beat Bolli [Sun, 19 Nov 2017 23:05:36 +0000 (00:05 +0100)] 
contrib/git-jump: allow to configure the grep command

Add the configuration option "jump.grepCmd" that allows to configure the
command that is used to search in grep mode. This allows the users of
git-jump to use ag(1) or ack(1) as search engines.

Signed-off-by: Beat Bolli <dev+git@drbeat.li>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agopull: pass -4/-6 option to 'git fetch'
Shuyu Wei [Sun, 19 Nov 2017 11:01:32 +0000 (19:01 +0800)] 
pull: pass -4/-6 option to 'git fetch'

The -4/-6 option should be passed through to 'git fetch' to be
consistent with the man page.

Signed-off-by: Wei Shuyu <wsy@dogben.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agogit-rebase: clean up dashed-usages in messages
Kaartic Sivaraam [Mon, 20 Nov 2017 15:26:52 +0000 (20:56 +0530)] 
git-rebase: clean up dashed-usages in messages

Signed-off-by: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoconfig: flip return value of write_section()
RenĂ© Scharfe [Sat, 18 Nov 2017 10:20:04 +0000 (11:20 +0100)] 
config: flip return value of write_section()

d9bd4cbb9cc (config: flip return value of store_write_*()) made
write_section() follow the convention of write(2) to return -1 on error
and the number of written bytes on success.  3b48045c6c7 (Merge branch
'sd/branch-copy') changed it back to returning 0 on error and 1 on
success, but left its callers still checking for negative values.

Let write_section() follow the convention of write(2) again to meet the
expectations of its callers.

Reported-by: Jeff King <peff@peff.net>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agorebase: use mboxrd format to avoid split errors
Eric Wong [Sat, 18 Nov 2017 01:01:16 +0000 (01:01 +0000)] 
rebase: use mboxrd format to avoid split errors

The mboxrd format allows the use of embedded "From " lines in
commit messages without being misinterpreted by mailsplit

Reported-by: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Eric Wong <e@80x24.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoapply: update line lengths for --inaccurate-eof
RenĂ© Scharfe [Thu, 16 Nov 2017 18:50:31 +0000 (19:50 +0100)] 
apply: update line lengths for --inaccurate-eof

Some diff implementations don't report missing newlines at the end of
files.  Applying such a patch can cause a newline character to be
added inadvertently.  The option --inaccurate-eof of git apply can be
used to remove trailing newlines if needed.

apply_one_fragment() cuts it off from the buffers for preimage and
postimage.  Before it does, it builds an array with the lengths of each
line for both.  Make sure to update the length of the last line in
these line info structures as well to keep them consistent with their
respective buffer.

Without this fix the added test fails; git apply dies and reports:

   fatal: BUG: caller miscounted postlen: asked 1, orig = 1, used = 2

That sanity check is only called if whitespace changes are ignored.

Reported-by: Mahmoud Al-Qudsi <mqudsi@neosmart.net>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agocompletion: add '--copy' option to 'git branch'
Todd Zullinger [Thu, 16 Nov 2017 17:09:06 +0000 (12:09 -0500)] 
completion: add '--copy' option to 'git branch'

In 52d59cc645 (branch: add a --copy (-c) option to go with --move (-m),
2017-06-18), `git branch` learned a `--copy` option.  Include it when
providing command completions.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoadd: introduce "--renormalize"
Torsten Bögershausen [Thu, 16 Nov 2017 16:38:28 +0000 (17:38 +0100)] 
add: introduce "--renormalize"

Make it safer to normalize the line endings in a repository.
Files that had been commited with CRLF will be commited with LF.

The old way to normalize a repo was like this:

 # Make sure that there are not untracked files
 $ echo "* text=auto" >.gitattributes
 $ git read-tree --empty
 $ git add .
 $ git commit -m "Introduce end-of-line normalization"

The user must make sure that there are no untracked files,
otherwise they would have been added and tracked from now on.

The new "add --renormalize" does not add untracked files:

 $ echo "* text=auto" >.gitattributes
 $ git add --renormalize .
 $ git commit -m "Introduce end-of-line normalization"

Note that "git add --renormalize <pathspec>" is the short form for
"git add -u --renormalize <pathspec>".

While at it, document that the same renormalization may be needed,
whenever a clean filter is added or changed.

Helped-By: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agosequencer: reschedule pick if index can't be locked
Phillip Wood [Wed, 15 Nov 2017 10:41:25 +0000 (10:41 +0000)] 
sequencer: reschedule pick if index can't be locked

If the index cannot be locked in do_recursive_merge(), issue an
error message and go on to the error recovery codepath, instead of
dying.  When the commit cannot be picked, it needs to be rescheduled
when performing an interactive rebase, but just dying there won't
allow that to happen, and when the user runs 'git rebase --continue'
rather than 'git rebase --abort', the commit gets silently dropped.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
7 years agoconfig: avoid "write_in_full(fd, buf, len) != len" pattern
Phillip Wood [Wed, 15 Nov 2017 12:40:43 +0000 (12:40 +0000)] 
config: avoid "write_in_full(fd, buf, len) != len" pattern

As explained in commit 06f46f237 (avoid "write_in_full(fd, buf, len)
!= len" pattern, 2017–09–13) the return value of write_in_full() is
either -1 or the requested number of bytes. As such comparing the
return value to an unsigned value such as strbuf.len will fail to
catch errors. Change the code to use the preferred '< 0' check.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agomerge-recursive: handle addition of submodule on our side of history
Elijah Newren [Tue, 14 Nov 2017 17:31:24 +0000 (09:31 -0800)] 
merge-recursive: handle addition of submodule on our side of history

The code for a newly added path assumed that the path was a normal file,
and thus checked for there being a directory still being in the way of
the file.  Note that since unpack_trees() does path-in-the-way checks
already, the only way for there to be a directory in the way at this
point in the code, is if there is some kind of D/F conflict in the merge.

For a submodule addition on HEAD's side of history, the submodule would
have already been present.  This means that we do expect there to be a
directory present but should not consider it to be "in the way"; instead,
it's the expected submodule.  So, when there's a submodule addition from
HEAD's side, don't bother checking the working copy for a directory in
the way.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoSync with maint
Junio C Hamano [Wed, 15 Nov 2017 03:17:43 +0000 (12:17 +0900)] 
Sync with maint

7 years agoRelNotes: the fourth batch for 2.16
Junio C Hamano [Wed, 15 Nov 2017 03:17:08 +0000 (12:17 +0900)] 
RelNotes: the fourth batch for 2.16

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'bp/read-index-from-skip-verification'
Junio C Hamano [Wed, 15 Nov 2017 03:14:37 +0000 (12:14 +0900)] 
Merge branch 'bp/read-index-from-skip-verification'

Drop (perhaps overly cautious) sanity check before using the index
read from the filesystem at runtime.

* bp/read-index-from-skip-verification:
  read_index_from(): speed index loading by skipping verification of the entry order

7 years agoMerge branch 'bc/submitting-patches-in-asciidoc'
Junio C Hamano [Wed, 15 Nov 2017 03:14:36 +0000 (12:14 +0900)] 
Merge branch 'bc/submitting-patches-in-asciidoc'

The SubmittingPatches document has been converted to produce an
HTML version via AsciiDoc/Asciidoctor.

* bc/submitting-patches-in-asciidoc:
  Documentation: convert SubmittingPatches to AsciiDoc
  Documentation: enable compat-mode for Asciidoctor

7 years agoMerge branch 'sb/bisect-run-empty'
Junio C Hamano [Wed, 15 Nov 2017 03:14:36 +0000 (12:14 +0900)] 
Merge branch 'sb/bisect-run-empty'

"git bisect run" that did not specify any command to run used to go
ahead and treated all commits to be tested as 'good'.  This has
been corrected by making the command error out.

* sb/bisect-run-empty:
  bisect run: die if no command is given

7 years agoMerge branch 'rd/bisect-view-is-visualize'
Junio C Hamano [Wed, 15 Nov 2017 03:14:36 +0000 (12:14 +0900)] 
Merge branch 'rd/bisect-view-is-visualize'

Doc and message updates to teach users "bisect view" is a synonym
for "bisect visualize".

* rd/bisect-view-is-visualize:
  bisect: mention "view" as an alternative to "visualize"

7 years agoMerge branch 'jk/info-alternates-fix'
Junio C Hamano [Wed, 15 Nov 2017 03:14:36 +0000 (12:14 +0900)] 
Merge branch 'jk/info-alternates-fix'

We used to add an empty alternate object database to the system
that does not help anything; it has been corrected.

* jk/info-alternates-fix:
  link_alt_odb_entries: make empty input a noop

7 years agoMerge branch 'cb/t4201-robustify'
Junio C Hamano [Wed, 15 Nov 2017 03:14:35 +0000 (12:14 +0900)] 
Merge branch 'cb/t4201-robustify'

A test update.

* cb/t4201-robustify:
  t4201: make use of abbreviation in the test more robust

7 years agoMerge branch 'ab/pcre-v2'
Junio C Hamano [Wed, 15 Nov 2017 03:14:34 +0000 (12:14 +0900)] 
Merge branch 'ab/pcre-v2'

Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed.

* ab/pcre-v2:
  grep: fix NO_LIBPCRE1_JIT to fully disable JIT

7 years agoMerge branch 'tz/fsf-address-update'
Junio C Hamano [Wed, 15 Nov 2017 03:14:33 +0000 (12:14 +0900)] 
Merge branch 'tz/fsf-address-update'

* tz/fsf-address-update:
  Replace Free Software Foundation address in license notices
  Replace Free Software Foundation address in license notices

7 years agoMerge branch 'ad/rebase-i-serie-typofix'
Junio C Hamano [Wed, 15 Nov 2017 03:14:33 +0000 (12:14 +0900)] 
Merge branch 'ad/rebase-i-serie-typofix'

* ad/rebase-i-serie-typofix:
  rebase -i: fix comment typo

7 years agoMerge branch 'ab/mediawiki-namespace'
Junio C Hamano [Wed, 15 Nov 2017 03:14:32 +0000 (12:14 +0900)] 
Merge branch 'ab/mediawiki-namespace'

The remote-helper for talking to MediaWiki has been updated to
work with mediawiki namespaces.

* ab/mediawiki-namespace:
  remote-mediawiki: show progress while fetching namespaces
  remote-mediawiki: process namespaces in order
  remote-mediawiki: support fetching from (Main) namespace
  remote-mediawiki: skip virtual namespaces
  remote-mediawiki: show known namespace choices on failure
  remote-mediawiki: allow fetching namespaces with spaces
  remote-mediawiki: add namespace support

7 years agoMerge branch 'ma/reduce-heads-leakfix'
Junio C Hamano [Wed, 15 Nov 2017 03:14:32 +0000 (12:14 +0900)] 
Merge branch 'ma/reduce-heads-leakfix'

Leak fixes.

* ma/reduce-heads-leakfix:
  reduce_heads: fix memory leaks
  builtin/merge-base: free commit lists

7 years agoMerge branch 'js/for-each-ref-remote-name-and-ref'
Junio C Hamano [Wed, 15 Nov 2017 03:14:32 +0000 (12:14 +0900)] 
Merge branch 'js/for-each-ref-remote-name-and-ref'

The "--format=..." option "git for-each-ref" takes learned to show
the name of the 'remote' repository and the ref at the remote side
that is affected for 'upstream' and 'push' via "%(push:remotename)"
and friends.

* js/for-each-ref-remote-name-and-ref:
  for-each-ref: test :remotename and :remoteref
  for-each-ref: let upstream/push report the remote ref name
  for-each-ref: let upstream/push optionally report the remote name

7 years agoMerge branch 'jt/submodule-tests-cleanup'
Junio C Hamano [Wed, 15 Nov 2017 03:14:31 +0000 (12:14 +0900)] 
Merge branch 'jt/submodule-tests-cleanup'

* jt/submodule-tests-cleanup:
  Tests: clean up and document submodule helpers

7 years agoMerge branch 'cc/git-packet-pm'
Junio C Hamano [Wed, 15 Nov 2017 03:14:31 +0000 (12:14 +0900)] 
Merge branch 'cc/git-packet-pm'

Parts of a test to drive the long-running content filter interface
has been split into its own module, hopefully to eventually become
reusable.

* cc/git-packet-pm:
  Git/Packet.pm: extract parts of t0021/rot13-filter.pl for reuse
  t0021/rot13-filter: add capability functions
  t0021/rot13-filter: refactor checking final lf
  t0021/rot13-filter: add packet_initialize()
  t0021/rot13-filter: improve error message
  t0021/rot13-filter: improve 'if .. elsif .. else' style
  t0021/rot13-filter: refactor packet reading functions
  t0021/rot13-filter: fix list comparison

7 years agoMerge branch 'bw/rebase-i-ignored-submodule-fix'
Junio C Hamano [Wed, 15 Nov 2017 03:14:30 +0000 (12:14 +0900)] 
Merge branch 'bw/rebase-i-ignored-submodule-fix'

"git rebase -i" recently started misbehaving when a submodule that
is configured with 'submodule.<name>.ignore' is dirty; this has
been corrected.

* bw/rebase-i-ignored-submodule-fix:
  wt-status: actually ignore submodules when requested

7 years agoMerge branch 'mh/tidy-ref-update-flags'
Junio C Hamano [Wed, 15 Nov 2017 03:14:29 +0000 (12:14 +0900)] 
Merge branch 'mh/tidy-ref-update-flags'

Code clean-up in refs API implementation.

* mh/tidy-ref-update-flags:
  refs: update some more docs to use "oid" rather than "sha1"
  write_packed_entry(): take `object_id` arguments
  refs: rename constant `REF_ISPRUNING` to `REF_IS_PRUNING`
  refs: rename constant `REF_NODEREF` to `REF_NO_DEREF`
  refs: tidy up and adjust visibility of the `ref_update` flags
  ref_transaction_add_update(): remove a check
  ref_transaction_update(): die on disallowed flags
  prune_ref(): call `ref_transaction_add_update()` directly
  files_transaction_prepare(): don't leak flags to packed transaction

7 years agoMerge branch 'sr/wrapper-quote-filenames'
Junio C Hamano [Wed, 15 Nov 2017 03:14:29 +0000 (12:14 +0900)] 
Merge branch 'sr/wrapper-quote-filenames'

Some error messages did not quote filenames shown in it, which have
been fixed.

* sr/wrapper-quote-filenames:
  wrapper.c: consistently quote filenames in error messages

7 years agoMerge branch 'ma/bisect-leakfix'
Junio C Hamano [Wed, 15 Nov 2017 03:14:28 +0000 (12:14 +0900)] 
Merge branch 'ma/bisect-leakfix'

Leak fixes.

* ma/bisect-leakfix:
  bisect: fix memory leak when returning best element
  bisect: fix off-by-one error in `best_bisection_sorted()`
  bisect: fix memory leak in `find_bisection()`
  bisect: change calling-convention of `find_bisection()`

7 years agoMerge branch 'rs/sequencer-rewrite-file-cleanup'
Junio C Hamano [Wed, 15 Nov 2017 03:14:28 +0000 (12:14 +0900)] 
Merge branch 'rs/sequencer-rewrite-file-cleanup'

Code cleanup.

* rs/sequencer-rewrite-file-cleanup:
  sequencer.c: check return value of close() in rewrite_file()
  sequencer: use O_TRUNC to truncate files
  sequencer: factor out rewrite_file()

7 years agoMerge branch 'ao/merge-verbosity-getenv-just-once'
Junio C Hamano [Wed, 15 Nov 2017 03:14:28 +0000 (12:14 +0900)] 
Merge branch 'ao/merge-verbosity-getenv-just-once'

Code cleanup.

* ao/merge-verbosity-getenv-just-once:
  merge-recursive: check GIT_MERGE_VERBOSITY only once

7 years agoMerge branch 'mh/avoid-rewriting-packed-refs'
Junio C Hamano [Wed, 15 Nov 2017 03:14:27 +0000 (12:14 +0900)] 
Merge branch 'mh/avoid-rewriting-packed-refs'

Recent update to the refs infrastructure implementation started
rewriting packed-refs file more often than before; this has been
optimized again for most trivial cases.

* mh/avoid-rewriting-packed-refs:
  files-backend: don't rewrite the `packed-refs` file unnecessarily
  t1409: check that `packed-refs` is not rewritten unnecessarily

7 years agoMerge branch 'rs/imap-send-next-arg-fix'
Junio C Hamano [Wed, 15 Nov 2017 03:14:26 +0000 (12:14 +0900)] 
Merge branch 'rs/imap-send-next-arg-fix'

Error checking in "git imap-send" for empty response has been
improved.

* rs/imap-send-next-arg-fix:
  imap-send: handle missing response codes gracefully
  imap-send: handle NULL return of next_arg()

7 years agoMerge branch 'ab/mediawiki-name-truncation'
Junio C Hamano [Wed, 15 Nov 2017 03:14:25 +0000 (12:14 +0900)] 
Merge branch 'ab/mediawiki-name-truncation'

The remote-helper for talking to MediaWiki has been updated to
truncate an overlong pagename so that ".mw" suffix can still be
added.

* ab/mediawiki-name-truncation:
  remote-mediawiki: limit filenames to legal

7 years agoStart preparation for 2.15.1
Junio C Hamano [Wed, 15 Nov 2017 03:04:22 +0000 (12:04 +0900)] 
Start preparation for 2.15.1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
7 years agoMerge branch 'ks/mailmap' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:05:04 +0000 (12:05 +0900)] 
Merge branch 'ks/mailmap' into maint

* ks/mailmap:
  mailmap: use Kaartic Sivaraam's new address

7 years agoMerge branch 'jm/relnotes-2.15-typofix' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:05:04 +0000 (12:05 +0900)] 
Merge branch 'jm/relnotes-2.15-typofix' into maint

Typofix.

* jm/relnotes-2.15-typofix:
  fix typos in 2.15.0 release notes

7 years agoMerge branch 'cn/diff-indent-no-longer-is-experimental' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:05:04 +0000 (12:05 +0900)] 
Merge branch 'cn/diff-indent-no-longer-is-experimental' into maint

Doc update.

* cn/diff-indent-no-longer-is-experimental:
  diff: --indent-heuristic is no longer experimental

7 years agoMerge branch 'js/mingw-redirect-std-handles' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:05:03 +0000 (12:05 +0900)] 
Merge branch 'js/mingw-redirect-std-handles' into maint

MinGW updates.

* js/mingw-redirect-std-handles:
  mingw: document the standard handle redirection
  mingw: optionally redirect stderr/stdout via the same handle
  mingw: add experimental feature to redirect standard handles

7 years agoMerge branch 'js/wincred-empty-cred' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:05:03 +0000 (12:05 +0900)] 
Merge branch 'js/wincred-empty-cred' into maint

MinGW updates.

* js/wincred-empty-cred:
  wincred: handle empty username/password correctly
  t0302: check helper can handle empty credentials

7 years agoMerge branch 'js/mingw-full-version-in-resources' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:05:03 +0000 (12:05 +0900)] 
Merge branch 'js/mingw-full-version-in-resources' into maint

MinGW updates.

* js/mingw-full-version-in-resources:
  mingw: include the full version information in the resources

7 years agoMerge branch 'dk/libsecret-unlock-to-load-fix' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:05:02 +0000 (12:05 +0900)] 
Merge branch 'dk/libsecret-unlock-to-load-fix' into maint

The credential helper for libsecret (in contrib/) has been improved
to allow possibly prompting the end user to unlock secrets that are
currently locked (otherwise the secrets may not be loaded).

* dk/libsecret-unlock-to-load-fix:
  credential-libsecret: unlock locked secrets

7 years agoMerge branch 'js/early-config' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:05:01 +0000 (12:05 +0900)] 
Merge branch 'js/early-config' into maint

Correct start-up sequence so that a repository could be placed
immediately under the root directory again (which was broken at
around Git 2.13).

* js/early-config:
  setup: avoid double slashes when looking for HEAD

7 years agoMerge branch 'ad/5580-unc-tests-on-cygwin' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:05:00 +0000 (12:05 +0900)] 
Merge branch 'ad/5580-unc-tests-on-cygwin' into maint

UNC paths are also relevant in Cygwin builds and they are now
tested just like Mingw builds.

* ad/5580-unc-tests-on-cygwin:
  t5580: add Cygwin support

7 years agoMerge branch 'ao/diff-populate-filespec-lstat-errorpath-fix' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:59 +0000 (12:04 +0900)] 
Merge branch 'ao/diff-populate-filespec-lstat-errorpath-fix' into maint

After an error from lstat(), diff_populate_filespec() function
sometimes still went ahead and used invalid data in struct stat,
which has been fixed.

* ao/diff-populate-filespec-lstat-errorpath-fix:
  diff: fix lstat() error handling in diff_populate_filespec()

7 years agoMerge branch 'sb/blame-config-doc' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:59 +0000 (12:04 +0900)] 
Merge branch 'sb/blame-config-doc' into maint

Description of blame.{showroot,blankboundary,showemail,date}
configuration variables have been added to "git config --help".

* sb/blame-config-doc:
  config: document blame configuration

7 years agoMerge branch 'tb/complete-checkout' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:58 +0000 (12:04 +0900)] 
Merge branch 'tb/complete-checkout' into maint

Command line completion (in contrib/) update.

* tb/complete-checkout:
  completion: add remaining flags to checkout

7 years agoMerge branch 'jc/check-ref-format-oor' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:57 +0000 (12:04 +0900)] 
Merge branch 'jc/check-ref-format-oor' into maint

"git check-ref-format --branch @{-1}" bit a "BUG()" when run
outside a repository for obvious reasons; clarify the documentation
and make sure we do not even try to expand the at-mark magic in
such a case, but still call the validation logic for branch names.

* jc/check-ref-format-oor:
  check-ref-format doc: --branch validates and expands <branch>
  check-ref-format --branch: strip refs/heads/ using skip_prefix
  check-ref-format --branch: do not expand @{...} outside repository

7 years agoMerge branch 'jc/t5601-copy-workaround' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:56 +0000 (12:04 +0900)] 
Merge branch 'jc/t5601-copy-workaround' into maint

A (possibly flakey) test fix.

* jc/t5601-copy-workaround:
  t5601: rm the target file of cp that could still be executing

7 years agoMerge branch 'jk/rebase-i-exec-gitdir-fix' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:56 +0000 (12:04 +0900)] 
Merge branch 'jk/rebase-i-exec-gitdir-fix' into maint

A recent regression in "git rebase -i" that broke execution of git
commands from subdirectories via "exec" insn has been fixed.

* jk/rebase-i-exec-gitdir-fix:
  sequencer: pass absolute GIT_DIR to exec commands

7 years agoMerge branch 'bw/grep-recurse-submodules' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:55 +0000 (12:04 +0900)] 
Merge branch 'bw/grep-recurse-submodules' into maint

A broken access to object databases in recent update to "git grep
--recurse-submodules" has been fixed.

* bw/grep-recurse-submodules:
  grep: take the read-lock when adding a submodule

7 years agoMerge branch 'js/submodule-in-excluded' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:54 +0000 (12:04 +0900)] 
Merge branch 'js/submodule-in-excluded' into maint

"git status --ignored -u" did not stop at a working tree of a
separate project that is embedded in an ignored directory and
listed files in that other project, instead of just showing the
directory itself as ignored.

* js/submodule-in-excluded:
  status: do not get confused by submodules in excluded directories

7 years agoMerge branch 'ao/check-resolve-ref-unsafe-result' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:53 +0000 (12:04 +0900)] 
Merge branch 'ao/check-resolve-ref-unsafe-result' into maint

"git commit", after making a commit, did not check for errors when
asking on what branch it made the commit, which has been correted.

* ao/check-resolve-ref-unsafe-result:
  commit: check result of resolve_ref_unsafe

7 years agoMerge branch 'jk/misc-resolve-ref-unsafe-fixes' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:52 +0000 (12:04 +0900)] 
Merge branch 'jk/misc-resolve-ref-unsafe-fixes' into maint

Some codepaths did not check for errors when asking what branch the
HEAD points at, which have been fixed.

* jk/misc-resolve-ref-unsafe-fixes:
  worktree: handle broken symrefs in find_shared_symref()
  log: handle broken HEAD in decoration check
  remote: handle broken symrefs
  test-ref-store: avoid passing NULL to printf

7 years agoMerge branch 'sb/diff-color-moved-use-xdl-recmatch' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:52 +0000 (12:04 +0900)] 
Merge branch 'sb/diff-color-moved-use-xdl-recmatch' into maint

Instead of using custom line comparison and hashing functions to
implement "moved lines" coloring in the diff output, use the pair
of these functions from lower-layer xdiff/ code.

* sb/diff-color-moved-use-xdl-recmatch:
  diff.c: get rid of duplicate implementation
  xdiff-interface: export comparing and hashing strings

7 years agoMerge branch 'jk/diff-color-moved-fix' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:51 +0000 (12:04 +0900)] 
Merge branch 'jk/diff-color-moved-fix' into maint

The experimental "color moved lines differently in diff output"
feature was buggy around "ignore whitespace changes" edges, whihch
has been corrected.

* jk/diff-color-moved-fix:
  diff: handle NULs in get_string_hash()
  diff: fix whitespace-skipping with --color-moved
  t4015: test the output of "diff --color-moved -b"
  t4015: check "negative" case for "-w --color-moved"
  t4015: refactor --color-moved whitespace test

7 years agoMerge branch 'kd/auto-col-with-pager-fix' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:50 +0000 (12:04 +0900)] 
Merge branch 'kd/auto-col-with-pager-fix' into maint

"auto" as a value for the columnar output configuration ought to
judge "is the output consumed by humans?" with the same criteria as
"auto" for coloured output configuration, i.e. either the standard
output stream is going to tty, or a pager is in use.  We forgot the
latter, which has been fixed.

* kd/auto-col-with-pager-fix:
  column: do not include pager.c
  column: show auto columns when pager is active

7 years agoMerge branch 'sg/travis-fixes' into maint
Junio C Hamano [Wed, 15 Nov 2017 03:04:49 +0000 (12:04 +0900)] 
Merge branch 'sg/travis-fixes' into maint

TravisCI build updates.

* sg/travis-fixes:
  travis-ci: don't build Git for the static analysis job
  travis-ci: fix running P4 and Git LFS tests in Linux build jobs

7 years agonotes: send "Automatic notes merge failed" messages to stderr
Todd Zullinger [Tue, 14 Nov 2017 16:17:52 +0000 (11:17 -0500)] 
notes: send "Automatic notes merge failed" messages to stderr

All other error messages from notes use stderr.  Do the same when
alerting users of an unresolved notes merge.

Fix the output redirection in t3310 and t3320 as well.  Previously, the
tests directed output to a file, but stderr was either not captured or
not sent to the file due to the order of the redirection operators.

Signed-off-by: Todd Zullinger <tmz@pobox.com>
Acked-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>