git
6 years agoMerge branch 'js/rebase-stat-unrelated-fix'
Junio C Hamano [Sat, 1 Dec 2018 12:41:42 +0000 (21:41 +0900)] 
Merge branch 'js/rebase-stat-unrelated-fix'

"git rebase --stat" to transplant a piece of history onto a totally
unrelated history were not working before and silently showed wrong
result.  With the recent reimplementation in C, it started to instead
die with an error message, as the original logic was not prepared
to cope with this case.  This has now been fixed.

* js/rebase-stat-unrelated-fix:
  rebase --stat: fix when rebasing to an unrelated history

6 years agoMerge branch 'js/rebase-reflog-action-fix'
Junio C Hamano [Sat, 1 Dec 2018 12:41:42 +0000 (21:41 +0900)] 
Merge branch 'js/rebase-reflog-action-fix'

"git rebase" reimplemented recently in C accidentally changed the
way reflog entries are recorded (earlier "rebase -i" identified the
entries it leaves with "rebase -i", but the new version always
marks them with "rebase").  This has been corrected.

* js/rebase-reflog-action-fix:
  rebase: fix GIT_REFLOG_ACTION regression

6 years agoMerge branch 'jc/format-patch-range-diff-fix'
Junio C Hamano [Sat, 1 Dec 2018 12:41:42 +0000 (21:41 +0900)] 
Merge branch 'jc/format-patch-range-diff-fix'

"git format-patch --range-diff" by mistake passed the diff options
used to generate the primary output of the command to the
range-diff machinery, which caused the range-diff in the cover
letter to include fairly useless "--stat" output.  This has been
corrected by forcing a non-customizable default formatting options
on the range-diff machinery when driven by format-patch.

* jc/format-patch-range-diff-fix:
  format-patch: do not let its diff-options affect --range-diff

6 years agot6036: avoid non-portable "cp -a"
Carlo Marcelo Arenas Belón [Sat, 1 Dec 2018 02:52:12 +0000 (18:52 -0800)] 
t6036: avoid non-portable "cp -a"

b8cd1bb713 ("t6036, t6043: increase code coverage for file collision
handling", 2018-11-07) uses this GNU extension that is not available
in a POSIX complaint cp.  In this particular case, there is no need to
use the option, as it is just copying a single file to create another
file.

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agobuiltin/rebase.c: remove superfluous space in messages
Ralf Thielow [Fri, 30 Nov 2018 18:11:45 +0000 (19:11 +0100)] 
builtin/rebase.c: remove superfluous space in messages

The whitespace breakages in these messages were introduced while
reimplementing the subcommand in C.  Match these messages to those
in the original scripted version.

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Acked-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agol10n: bg.po: Updated Bulgarian translation (4185t)
Alexander Shopov [Sat, 1 Dec 2018 10:48:08 +0000 (11:48 +0100)] 
l10n: bg.po: Updated Bulgarian translation (4185t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
6 years agol10n: git.pot: v2.20.0 round 2 (2 new, 2 removed)
Jiang Xin [Sat, 1 Dec 2018 08:15:51 +0000 (16:15 +0800)] 
l10n: git.pot: v2.20.0 round 2 (2 new, 2 removed)

Generate po/git.pot from v2.20.0-rc1-10-g7068cbc4ab for git v2.20.0 l10n
round 2.

Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
6 years agoMerge branch 'master' of git://github.com/git-l10n/git-po
Jiang Xin [Sat, 1 Dec 2018 08:14:16 +0000 (16:14 +0800)] 
Merge branch 'master' of git://github.com/git-l10n/git-po

6 years agoMerge branch 'master' of git://github.com/alshopov/git-po
Jiang Xin [Sat, 1 Dec 2018 08:13:31 +0000 (16:13 +0800)] 
Merge branch 'master' of git://github.com/alshopov/git-po

6 years agoMerge branch 'master' of git://github.com/nafmo/git-l10n-sv
Jiang Xin [Sat, 1 Dec 2018 08:11:45 +0000 (16:11 +0800)] 
Merge branch 'master' of git://github.com/nafmo/git-l10n-sv

6 years agoMerge branch 'fr_2.20_rnd1' of git://github.com/jnavila/git
Jiang Xin [Sat, 1 Dec 2018 07:36:53 +0000 (15:36 +0800)] 
Merge branch 'fr_2.20_rnd1' of git://github.com/jnavila/git

6 years agol10n: bg.po: Updated Bulgarian translation (4185t)
Alexander Shopov [Mon, 29 Oct 2018 12:31:37 +0000 (13:31 +0100)] 
l10n: bg.po: Updated Bulgarian translation (4185t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
6 years agorebase --stat: fix when rebasing to an unrelated history
Johannes Schindelin [Thu, 29 Nov 2018 13:01:54 +0000 (05:01 -0800)] 
rebase --stat: fix when rebasing to an unrelated history

When rebasing to a commit history that has no common commits with the
current branch, there is no merge base. In diffstat mode, this means
that we cannot compare to the merge base, but we have to compare to the
empty tree instead.

Also, if running in verbose diffstat mode, we should not output

Changes from <merge-base> to <onto>

as that does not make sense without any merge base.

Note: neither scripted nor built-in versoin of `git rebase` were
prepared for this situation well. We use this opportunity not only to
fix the bug(s), but also to make both versions' output consistent in
this instance. And add a regression test to keep this working in all
eternity.

Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agorebase: fix GIT_REFLOG_ACTION regression
Johannes Schindelin [Thu, 29 Nov 2018 19:09:21 +0000 (11:09 -0800)] 
rebase: fix GIT_REFLOG_ACTION regression

The scripted version of "rebase" honored the `GIT_REFLOG_ACTION`,
and some automation scripts expected the reflog entries to be
prefixed with "rebase -i", not "rebase", after running "rebase -i".
This regressed in the reimplementation in C.

Fix that, and add a regression test, both with `GIT_REFLOG_ACTION`
set and unset.

Note: the reflog message for "rebase finished" did *not* honor
GIT_REFLOG_ACTION, and as we are very late in the v2.20.0-rcN phase,
we leave that bug for later (as it seems that that bug has been with
us from the very beginning).

Reported by Ian Jackson.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoformat-patch: do not let its diff-options affect --range-diff
Junio C Hamano [Fri, 30 Nov 2018 04:27:11 +0000 (13:27 +0900)] 
format-patch: do not let its diff-options affect --range-diff

Stop leaking how the primary output of format-patch is customized to
the range-diff machinery and instead let the latter use its own
"reasonable default", in order to correct the breakage introduced by
a5170794 ("Merge branch 'ab/range-diff-no-patch'", 2018-11-18) on
the 'master' front.  "git format-patch --range-diff..." without any
weird diff option started to include the "range-diff --stat" output,
which is rather useless right now, that made the whole thing
unusable and this is probably the least disruptive way to whip the
codebase into a shippable shape.

We may want to later make the range-diff driven by format-patch more
configurable, but that would have to wait until we have a good
design.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agol10n: sv.po: Update Swedish translation (4185t0f0u)
Peter Krefting [Thu, 29 Nov 2018 11:55:22 +0000 (12:55 +0100)] 
l10n: sv.po: Update Swedish translation (4185t0f0u)

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
6 years agoMerge branch 'ja/i18n-fix'
Junio C Hamano [Thu, 29 Nov 2018 07:28:39 +0000 (16:28 +0900)] 
Merge branch 'ja/i18n-fix'

* ja/i18n-fix:
  i18n: fix small typos

6 years agoMerge branch 'nd/n18n-fix'
Junio C Hamano [Thu, 29 Nov 2018 07:28:39 +0000 (16:28 +0900)] 
Merge branch 'nd/n18n-fix'

* nd/n18n-fix:
  transport-helper.c: do not translate a string twice

6 years agoi18n: fix small typos
Jean-Noël Avila [Wed, 28 Nov 2018 21:43:09 +0000 (22:43 +0100)] 
i18n: fix small typos

Translating the new strings introduced for v2.20 showed some typos.

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-reset.txt: render literal examples as monospace
Martin Ågren [Wed, 28 Nov 2018 19:02:10 +0000 (20:02 +0100)] 
git-reset.txt: render literal examples as monospace

Large parts of this document do not use `backticks` around literal
examples such as branch names (`topic/wip`), git usages, `HEAD` and
`<commit-ish>` so they render as ordinary text. Fix that.

Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agogit-reset.txt: render tables correctly under Asciidoctor
Martin Ågren [Wed, 28 Nov 2018 19:02:09 +0000 (20:02 +0100)] 
git-reset.txt: render tables correctly under Asciidoctor

Asciidoctor removes the indentation of each line in these tables, so the
last lines of each table have a completely broken alignment.

Similar to 379805051d ("Documentation: render revisions correctly under
Asciidoctor", 2018-05-06), use an explicit literal block to indicate
that we want to keep the leading whitespace in the tables.

Because this gives us some extra indentation, we can remove the one that
we have been carrying explicitly. That is, drop the first six spaces of
indentation on each line. With Asciidoc (8.6.10), this results in
identical rendering before and after this commit, both for git-reset.1
and git-reset.html.

Reported-by: Paweł Samoraj <samoraj.pawel@gmail.com>
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agotransport-helper.c: do not translate a string twice
Nguyễn Thái Ngọc Duy [Mon, 26 Nov 2018 19:57:56 +0000 (20:57 +0100)] 
transport-helper.c: do not translate a string twice

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoadvice: don't pointlessly suggest --convert-graft-file
Ævar Arnfjörð Bjarmason [Tue, 27 Nov 2018 20:12:55 +0000 (21:12 +0100)] 
advice: don't pointlessly suggest --convert-graft-file

The advice to run 'git replace --convert-graft-file' added in
f9f99b3f7d ("Deprecate support for .git/info/grafts", 2018-04-29)
didn't add an exception for the 'git replace --convert-graft-file'
codepath itself.

As a result we'd suggest running --convert-graft-file while the user
was running --convert-graft-file, which makes no sense. Before:

    $ git replace --convert-graft-file
    hint: Support for <GIT_DIR>/info/grafts is deprecated
    hint: and will be removed in a future Git version.
    hint:
    hint: Please use "git replace --convert-graft-file"
    hint: to convert the grafts into replace refs.
    hint:
    hint: Turn this message off by running
    hint: "git config advice.graftFileDeprecated false"

Add a check for that case and skip printing the advice while the user
is busy following our advice.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agol10n: fr.po v2.20 rnd 1
Jean-Noël Avila [Wed, 28 Nov 2018 21:16:56 +0000 (22:16 +0100)] 
l10n: fr.po v2.20 rnd 1

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
6 years agot/lib-git-daemon: fix signal checking
SZEDER Gábor [Mon, 26 Nov 2018 20:03:37 +0000 (21:03 +0100)] 
t/lib-git-daemon: fix signal checking

Test scripts checking 'git daemon' stop the daemon with a TERM signal,
and the 'stop_git_daemon' helper checks the daemon's exit status to
make sure that it indeed died because of that signal.

This check is bogus since 03c39b3458 (t/lib-git-daemon: use
test_match_signal, 2016-06-24), for two reasons:

  - Right after killing 'git daemon', 'stop_git_daemon' saves its exit
    status in a variable, but since 03c39b3458 the condition checking
    the exit status looks at '$?', which at this point is not the exit
    status of 'git daemon', but that of the variable assignment, i.e.
    it's always 0.

  - The unexpected exit status should abort the whole test script with
    'error', but it doesn't, because 03c39b3458 forgot to negate
    'test_match_signal's exit status in the condition.

This patch fixes both issues.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoMerge branch 'nd/per-worktree-ref-iteration'
Junio C Hamano [Mon, 26 Nov 2018 14:13:42 +0000 (23:13 +0900)] 
Merge branch 'nd/per-worktree-ref-iteration'

Build fix.

* nd/per-worktree-ref-iteration:
  files-backend.c: fix build error on Solaris

6 years agoMerge branch 'tb/clone-case-smashing-warning-test'
Junio C Hamano [Mon, 26 Nov 2018 14:13:42 +0000 (23:13 +0900)] 
Merge branch 'tb/clone-case-smashing-warning-test'

The code recently added to "git clone" to see if the platform's
filesystem is adequate to check out and use the project code
correctly (e.g. a case smashing filesystem cannot be used for a
project with two files whose paths are different only in case) was
meant to help Windows users, but the test for it was not enabled
for that platform, which has been corrected.

* tb/clone-case-smashing-warning-test:
  t5601-99: Enable colliding file detection for MINGW

6 years agoMerge branch 'jk/t5562-perl-path-fix'
Junio C Hamano [Mon, 26 Nov 2018 14:13:41 +0000 (23:13 +0900)] 
Merge branch 'jk/t5562-perl-path-fix'

Hotfix for test breakage on platforms whose Perl is not at
/usr/bin/perl

* jk/t5562-perl-path-fix:
  t5562: fix perl path

6 years agodoc: update diff-format.txt for removed ellipses in --raw
Greg Hurrell [Sat, 24 Nov 2018 09:29:58 +0000 (10:29 +0100)] 
doc: update diff-format.txt for removed ellipses in --raw

Since 7cb6ac1e4b ("diff: diff_aligned_abbrev: remove ellipsis after
abbreviated SHA-1 value", 2017-12-03), the "--raw" format of diff
does not add ellipses in an attempt to align the output, but the
documentation was not updated to reflect this.

Signed-off-by: Greg Hurrell <greg@hurrell.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agofiles-backend.c: fix build error on Solaris
Nguyễn Thái Ngọc Duy [Sun, 25 Nov 2018 04:58:16 +0000 (05:58 +0100)] 
files-backend.c: fix build error on Solaris

This function files_reflog_path returns void, which usually means
"return;" not returning "void value" from another function.

Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agohttp-backend: enable cleaning up forked upload/receive-pack on exit
Max Kirillov [Sat, 24 Nov 2018 13:48:27 +0000 (15:48 +0200)] 
http-backend: enable cleaning up forked upload/receive-pack on exit

If http-backend dies because of errors, started upload-pack or
receive-pack are not killed and waited, but rather stay running for
some time until they exit because of closed stdin. It may be
undesirable in working environment, and it also causes occasional
failure of t5562, because the processes keep opened act.err, and
sometimes write there errors after next test started using the file.

Fix by enabling cleaning of the command at http-backed exit.

Reported-by: Carlo Arenas <carenas@gmail.com>
Helped-by: Carlo Arenas <carenas@gmail.com>
Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agol10n: Update Catalan translation
Jordi Mas [Sun, 25 Nov 2018 13:53:41 +0000 (14:53 +0100)] 
l10n: Update Catalan translation

Signed-off-by: Jordi Mas <jmas@softcatala.org>
6 years agoodb_load_loose_cache: fix strbuf leak
Jeff King [Thu, 22 Nov 2018 17:53:00 +0000 (12:53 -0500)] 
odb_load_loose_cache: fix strbuf leak

Commit 3a2e0824 ("object-store: provide helpers for loose_objects_cache",
2018-11-12) moved the cache-loading code from find_short_object_filename(),
but forgot the line that releases the path strbuf.

Reported-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agot5562: fix perl path
Jeff King [Thu, 22 Nov 2018 23:38:21 +0000 (01:38 +0200)] 
t5562: fix perl path

Some systems do not have perl installed to /usr/bin. Use the variable
from the build settiings, and call perl directly than via shebang.

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agot5601-99: Enable colliding file detection for MINGW
Torsten Bögershausen [Thu, 22 Nov 2018 17:59:52 +0000 (18:59 +0100)] 
t5601-99: Enable colliding file detection for MINGW

Commit b878579ae7 (clone: report duplicate entries on case-insensitive
filesystems - 2018-08-17) adds a warning to user when cloning a repo
with case-sensitive file names on a case-insensitive file system.

This test has never been enabled for MINGW.
It had been working since day 1, but I forget to report that to the
author.
Enable it after a re-test.

Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoGit 2.20-rc1 v2.20.0-rc1
Junio C Hamano [Wed, 21 Nov 2018 14:24:52 +0000 (23:24 +0900)] 
Git 2.20-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoSync with 2.19.2
Junio C Hamano [Wed, 21 Nov 2018 14:23:48 +0000 (23:23 +0900)] 
Sync with 2.19.2

6 years agoGit 2.19.2 v2.19.2
Junio C Hamano [Wed, 21 Nov 2018 14:22:12 +0000 (23:22 +0900)] 
Git 2.19.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
6 years agoMerge branch 'sg/test-rebase-editor-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:10 +0000 (22:58 +0900)] 
Merge branch 'sg/test-rebase-editor-fix' into maint

* sg/test-rebase-editor-fix:
  t3404-rebase-interactive: test abbreviated commands

6 years agoMerge branch 'tb/char-may-be-unsigned' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:09 +0000 (22:58 +0900)] 
Merge branch 'tb/char-may-be-unsigned' into maint

Build portability fix.

* tb/char-may-be-unsigned:
  path.c: char is not (always) signed

6 years agoMerge branch 'jk/uploadpack-packobjectshook-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:08 +0000 (22:58 +0900)] 
Merge branch 'jk/uploadpack-packobjectshook-fix' into maint

Code clean-up that results in a small bugfix.

* jk/uploadpack-packobjectshook-fix:
  upload-pack: fix broken if/else chain in config callback

6 years agoMerge branch 'uk/merge-subtree-doc-update' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:08 +0000 (22:58 +0900)] 
Merge branch 'uk/merge-subtree-doc-update' into maint

Belated documentation update to adjust to a new world order that
happened a yew years ago.

* uk/merge-subtree-doc-update:
  howto/using-merge-subtree: mention --allow-unrelated-histories

6 years agoMerge branch 'jc/cocci-preincr' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:08 +0000 (22:58 +0900)] 
Merge branch 'jc/cocci-preincr' into maint

Code cleanup.

* jc/cocci-preincr:
  fsck: s/++i > 1/i++/
  cocci: simplify "if (++u > 1)" to "if (u++)"

6 years agoMerge branch 'ah/doc-updates' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:07 +0000 (22:58 +0900)] 
Merge branch 'ah/doc-updates' into maint

Doc updates.

* ah/doc-updates:
  doc: fix formatting in git-update-ref
  doc: fix indentation of listing blocks in gitweb.conf.txt
  doc: fix descripion for 'git tag --format'
  doc: fix inappropriate monospace formatting
  doc: fix ASCII art tab spacing
  doc: clarify boundaries of 'git worktree list --porcelain'

6 years agoMerge branch 'sg/doc-show-branch-typofix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:07 +0000 (22:58 +0900)] 
Merge branch 'sg/doc-show-branch-typofix' into maint

Docfix.

* sg/doc-show-branch-typofix:
  doc: fix small typo in git show-branch

6 years agoMerge branch 'tq/branch-style-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:06 +0000 (22:58 +0900)] 
Merge branch 'tq/branch-style-fix' into maint

Code clean-up.

* tq/branch-style-fix:
  branch: trivial style fix

6 years agoMerge branch 'tq/branch-create-wo-branch-get' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:06 +0000 (22:58 +0900)] 
Merge branch 'tq/branch-create-wo-branch-get' into maint

Code clean-up.

* tq/branch-create-wo-branch-get:
  builtin/branch.c: remove useless branch_get

6 years agoMerge branch 'sb/strbuf-h-update' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:06 +0000 (22:58 +0900)] 
Merge branch 'sb/strbuf-h-update' into maint

Code clean-up to serve as a BCP example.
Further clean-up patches may want to follow soon.

* sb/strbuf-h-update:
  strbuf.h: format according to coding guidelines

6 years agoMerge branch 'du/cherry-is-plumbing' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:05 +0000 (22:58 +0900)] 
Merge branch 'du/cherry-is-plumbing' into maint

Doc update to mark "git cherry" as a plumbing command.

* du/cherry-is-plumbing:
  doc: move git-cherry to plumbing

6 years agoMerge branch 'du/get-tar-commit-id-is-plumbing' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:05 +0000 (22:58 +0900)] 
Merge branch 'du/get-tar-commit-id-is-plumbing' into maint

Doc update to mark "git get-tar-commit-id" as a plumbing command.

* du/get-tar-commit-id-is-plumbing:
  doc: move git-get-tar-commit-id to plumbing

6 years agoMerge branch 'mm/doc-no-dashed-git' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:04 +0000 (22:58 +0900)] 
Merge branch 'mm/doc-no-dashed-git' into maint

Doc update.

* mm/doc-no-dashed-git:
  doc: fix a typo and clarify a sentence

6 years agoMerge branch 'du/rev-parse-is-plumbing' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:04 +0000 (22:58 +0900)] 
Merge branch 'du/rev-parse-is-plumbing' into maint

Doc update.

* du/rev-parse-is-plumbing:
  doc: move git-rev-parse from porcelain to plumbing

6 years agoMerge branch 'ma/t7005-bash-workaround' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:04 +0000 (22:58 +0900)] 
Merge branch 'ma/t7005-bash-workaround' into maint

Test fix.

* ma/t7005-bash-workaround:
  t7005-editor: quote filename to fix whitespace-issue

6 years agoMerge branch 'jc/how-to-document-api' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:03 +0000 (22:58 +0900)] 
Merge branch 'jc/how-to-document-api' into maint

Doc update.

* jc/how-to-document-api:
  CodingGuidelines: document the API in *.h files

6 years agoMerge branch 'mw/doc-typofixes' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:03 +0000 (22:58 +0900)] 
Merge branch 'mw/doc-typofixes' into maint

Typofixes.

* mw/doc-typofixes:
  docs: typo: s/isimilar/similar/
  docs: graph: remove unnecessary `graph_update()' call
  docs: typo: s/go/to/

6 years agoMerge branch 'rs/sequencer-oidset-insert-avoids-dups' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:02 +0000 (22:58 +0900)] 
Merge branch 'rs/sequencer-oidset-insert-avoids-dups' into maint

Code clean-up.

* rs/sequencer-oidset-insert-avoids-dups:
  sequencer: use return value of oidset_insert()

6 years agoMerge branch 'ma/mailing-list-address-in-git-help' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:02 +0000 (22:58 +0900)] 
Merge branch 'ma/mailing-list-address-in-git-help' into maint

Doc update.

* ma/mailing-list-address-in-git-help:
  git doc: direct bug reporters to mailing list archive

6 years agoMerge branch 'nd/packobjectshook-doc-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:01 +0000 (22:58 +0900)] 
Merge branch 'nd/packobjectshook-doc-fix' into maint

Doc update.

* nd/packobjectshook-doc-fix:
  config.txt: correct the note about uploadpack.packObjectsHook

6 years agoMerge branch 'ma/t1400-undebug-test' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:01 +0000 (22:58 +0900)] 
Merge branch 'ma/t1400-undebug-test' into maint

Test fix.

* ma/t1400-undebug-test:
  t1400: drop debug `echo` to actually execute `test`

6 years agoMerge branch 'ma/commit-graph-docs' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:00 +0000 (22:58 +0900)] 
Merge branch 'ma/commit-graph-docs' into maint

Doc update.

* ma/commit-graph-docs:
  Doc: refer to the "commit-graph file" with dash
  git-commit-graph.txt: refer to "*commit*-graph file"
  git-commit-graph.txt: typeset more in monospace
  git-commit-graph.txt: fix bullet lists

6 years agoMerge branch 'dz/credential-doc-url-matching-rules' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:58:00 +0000 (22:58 +0900)] 
Merge branch 'dz/credential-doc-url-matching-rules' into maint

Doc update.

* dz/credential-doc-url-matching-rules:
  doc: clarify gitcredentials path component matching

6 years agoMerge branch 'jk/check-everything-connected-is-long-gone' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:59 +0000 (22:57 +0900)] 
Merge branch 'jk/check-everything-connected-is-long-gone' into maint

Comment fix.

* jk/check-everything-connected-is-long-gone:
  receive-pack: update comment with check_everything_connected

6 years agoMerge branch 'fe/doc-updates' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:58 +0000 (22:57 +0900)] 
Merge branch 'fe/doc-updates' into maint

Doc updates.

* fe/doc-updates:
  git-describe.1: clarify that "human readable" is also git-readable
  git-column.1: clarify initial description, provide examples
  git-archimport.1: specify what kind of Arch we're talking about

6 years agoMerge branch 'tg/t5551-with-curl-7.61.1' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:58 +0000 (22:57 +0900)] 
Merge branch 'tg/t5551-with-curl-7.61.1' into maint

Test update.
Supersedes tz/t5551-with-curl-7.61.1 topic

* tg/t5551-with-curl-7.61.1:
  t5551: compare sorted cookies files
  t5551: move setup code inside test_expect blocks

6 years agoMerge branch 'tq/refs-internal-comment-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:58 +0000 (22:57 +0900)] 
Merge branch 'tq/refs-internal-comment-fix' into maint

Fix for typo in a sample code in comment.

* tq/refs-internal-comment-fix:
  refs: docstring typo

6 years agoMerge branch 'sg/split-index-test' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:57 +0000 (22:57 +0900)] 
Merge branch 'sg/split-index-test' into maint

Test updates.

* sg/split-index-test:
  t0090: disable GIT_TEST_SPLIT_INDEX for the test checking split index
  t1700-split-index: drop unnecessary 'grep'

6 years agoMerge branch 'bw/protocol-v2' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:57 +0000 (22:57 +0900)] 
Merge branch 'bw/protocol-v2' into maint

Doc fix.

* bw/protocol-v2:
  config: document value 2 for protocol.version

6 years agoMerge branch 'sb/string-list-remove-unused' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:56 +0000 (22:57 +0900)] 
Merge branch 'sb/string-list-remove-unused' into maint

Code clean-up.

* sb/string-list-remove-unused:
  string-list: remove unused function print_string_list

6 years agoMerge branch 'jk/dev-build-format-security' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:56 +0000 (22:57 +0900)] 
Merge branch 'jk/dev-build-format-security' into maint

Build tweak to help developers.

* jk/dev-build-format-security:
  config.mak.dev: add -Wformat-security

6 years agoMerge branch 'sg/t3701-tighten-trace' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:55 +0000 (22:57 +0900)] 
Merge branch 'sg/t3701-tighten-trace' into maint

Test update.

* sg/t3701-tighten-trace:
  t3701-add-interactive: tighten the check of trace output

6 years agoMerge branch 'en/double-semicolon-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:54 +0000 (22:57 +0900)] 
Merge branch 'en/double-semicolon-fix' into maint

Code clean-up.

* en/double-semicolon-fix:
  Remove superfluous trailing semicolons

6 years agoMerge branch 'tb/void-check-attr' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:54 +0000 (22:57 +0900)] 
Merge branch 'tb/void-check-attr' into maint

Code clean-up.

* tb/void-check-attr:
  Make git_check_attr() a void function

6 years agoMerge branch 'sg/doc-trace-appends' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:54 +0000 (22:57 +0900)] 
Merge branch 'sg/doc-trace-appends' into maint

Docfix.

* sg/doc-trace-appends:
  Documentation/git.txt: clarify that GIT_TRACE=/path appends

6 years agoMerge branch 'tg/conflict-marker-size' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:53 +0000 (22:57 +0900)] 
Merge branch 'tg/conflict-marker-size' into maint

Developer aid.

* tg/conflict-marker-size:
  .gitattributes: add conflict-marker-size for relevant files

6 years agoMerge branch 'ts/doc-build-manpage-xsl-quietly' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:53 +0000 (22:57 +0900)] 
Merge branch 'ts/doc-build-manpage-xsl-quietly' into maint

Build tweak.

* ts/doc-build-manpage-xsl-quietly:
  Documentation/Makefile: make manpage-base-url.xsl generation quieter

6 years agoMerge branch 'jk/detect-truncated-zlib-input' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:52 +0000 (22:57 +0900)] 
Merge branch 'jk/detect-truncated-zlib-input' into maint

A regression in Git 2.12 era made "git fsck" fall into an infinite
loop while processing truncated loose objects.

* jk/detect-truncated-zlib-input:
  cat-file: handle streaming failures consistently
  check_stream_sha1(): handle input underflow
  t1450: check large blob in trailing-garbage test

6 years agoMerge branch 'sg/test-verbose-log' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:52 +0000 (22:57 +0900)] 
Merge branch 'sg/test-verbose-log' into maint

Our test scripts can now take the '-V' option as a synonym for the
'--verbose-log' option.

* sg/test-verbose-log:
  test-lib: introduce the '-V' short option for '--verbose-log'

6 years agoMerge branch 'ss/travis-ci-force-vm-mode' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:52 +0000 (22:57 +0900)] 
Merge branch 'ss/travis-ci-force-vm-mode' into maint

The "container" mode of TravisCI is going away.  Our .travis.yml
file is getting prepared for the transition.

* ss/travis-ci-force-vm-mode:
  travis-ci: no longer use containers

6 years agoMerge branch 'md/exclude-promisor-objects-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:52 +0000 (22:57 +0900)] 
Merge branch 'md/exclude-promisor-objects-fix' into maint

Operations on promisor objects make sense in the context of only a
small subset of the commands that internally use the revisions
machinery, but the "--exclude-promisor-objects" option were taken
and led to nonsense results by commands like "log", to which it
didn't make much sense.  This has been corrected.

* md/exclude-promisor-objects-fix:
  exclude-promisor-objects: declare when option is allowed
  Documentation/git-log.txt: do not show --exclude-promisor-objects

6 years agoMerge branch 'js/shallow-and-fetch-prune' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:51 +0000 (22:57 +0900)] 
Merge branch 'js/shallow-and-fetch-prune' into maint

"git repack" in a shallow clone did not correctly update the
shallow points in the repository, leading to a repository that
does not pass fsck.

* js/shallow-and-fetch-prune:
  repack -ad: prune the list of shallow commits
  shallow: offer to prune only non-existing entries
  repack: point out a bug handling stale shallow info

6 years agoMerge branch 'jc/receive-deny-current-branch-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:51 +0000 (22:57 +0900)] 
Merge branch 'jc/receive-deny-current-branch-fix' into maint

The receive.denyCurrentBranch=updateInstead codepath kicked in even
when the push should have been rejected due to other reasons, such
as it does not fast-forward or the update-hook rejects it, which
has been corrected.

* jc/receive-deny-current-branch-fix:
  receive: denyCurrentBranch=updateinstead should not blindly update

6 years agoMerge branch 'js/diff-notice-has-drive-prefix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:50 +0000 (22:57 +0900)] 
Merge branch 'js/diff-notice-has-drive-prefix' into maint

Under certain circumstances, "git diff D:/a/b/c D:/a/b/d" on
Windows would strip initial parts from the paths because they
were not recognized as absolute, which has been corrected.

* js/diff-notice-has-drive-prefix:
  diff: don't attempt to strip prefix from absolute Windows paths

6 years agoMerge branch 'js/pack-objects-mutex-init-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:50 +0000 (22:57 +0900)] 
Merge branch 'js/pack-objects-mutex-init-fix' into maint

A mutex used in "git pack-objects" were not correctly initialized
and this caused "git repack" to dump core on Windows.

* js/pack-objects-mutex-init-fix:
  pack-objects (mingw): initialize `packing_data` mutex in the correct spot
  pack-objects (mingw): demonstrate a segmentation fault with large deltas
  pack-objects: fix typo 'detla' -> 'delta'

6 years agoMerge branch 'jk/run-command-notdot' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:50 +0000 (22:57 +0900)] 
Merge branch 'jk/run-command-notdot' into maint

The implementation of run_command() API on the UNIX platforms had a
bug that caused a command not on $PATH to be found in the current
directory.

* jk/run-command-notdot:
  run-command: mark path lookup errors with ENOENT

6 years agoMerge branch 'np/log-graph-octopus-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:49 +0000 (22:57 +0900)] 
Merge branch 'np/log-graph-octopus-fix' into maint

"git log --graph" showing an octopus merge sometimes miscounted the
number of display columns it is consuming to show the merge and its
parent commits, which has been corrected.

* np/log-graph-octopus-fix:
  log: fix coloring of certain octopus merge shapes

6 years agoMerge branch 'sg/split-index-racefix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:48 +0000 (22:57 +0900)] 
Merge branch 'sg/split-index-racefix' into maint

The codepath to support the experimental split-index mode had
remaining "racily clean" issues fixed.

* sg/split-index-racefix:
  split-index: BUG() when cache entry refers to non-existing shared entry
  split-index: smudge and add racily clean cache entries to split index
  split-index: don't compare cached data of entries already marked for split index
  split-index: count the number of deleted entries
  t1700-split-index: date back files to avoid racy situations
  split-index: add tests to demonstrate the racy split index problem
  t1700-split-index: document why FSMONITOR is disabled in this test script

6 years agoMerge branch 'jt/non-blob-lazy-fetch' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:48 +0000 (22:57 +0900)] 
Merge branch 'jt/non-blob-lazy-fetch' into maint

A partial clone that is configured to lazily fetch missing objects
will on-demand issue a "git fetch" request to the originating
repository to fill not-yet-obtained objects.  The request has been
optimized for requesting a tree object (and not the leaf blob
objects contained in it) by telling the originating repository that
no blobs are needed.

* jt/non-blob-lazy-fetch:
  fetch-pack: exclude blobs when lazy-fetching trees
  fetch-pack: avoid object flags if no_dependents

6 years agoMerge branch 'sm/show-superproject-while-conflicted' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:48 +0000 (22:57 +0900)] 
Merge branch 'sm/show-superproject-while-conflicted' into maint

A corner-case bugfix.

* sm/show-superproject-while-conflicted:
  rev-parse: --show-superproject-working-tree should work during a merge

6 years agoMerge branch 'en/status-multiple-renames-to-the-same-target-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:48 +0000 (22:57 +0900)] 
Merge branch 'en/status-multiple-renames-to-the-same-target-fix' into maint

The code in "git status" sometimes hit an assertion failure.  This
was caused by a structure that was reused without cleaning the data
used for the first run, which has been corrected.

* en/status-multiple-renames-to-the-same-target-fix:
  commit: fix erroneous BUG, 'multiple renames on the same target? how?'

6 years agoMerge branch 'jn/mailmap-update' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:47 +0000 (22:57 +0900)] 
Merge branch 'jn/mailmap-update' into maint

The mailmap file update.

* jn/mailmap-update:
  mailmap: consistently normalize brian m. carlson's name

6 years agoMerge branch 'ds/commit-graph-with-grafts' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:47 +0000 (22:57 +0900)] 
Merge branch 'ds/commit-graph-with-grafts' into maint

The recently introduced commit-graph auxiliary data is incompatible
with mechanisms such as replace & grafts that "breaks" immutable
nature of the object reference relationship.  Disable optimizations
based on its use (and updating existing commit-graph) when these
incompatible features are in use in the repository.

* ds/commit-graph-with-grafts:
  commit-graph: close_commit_graph before shallow walk
  commit-graph: not compatible with uninitialized repo
  commit-graph: not compatible with grafts
  commit-graph: not compatible with replace objects
  test-repository: properly init repo
  commit-graph: update design document
  refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback
  refs.c: migrate internal ref iteration to pass thru repository argument

6 years agoMerge branch 'tg/range-diff-corner-case-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:46 +0000 (22:57 +0900)] 
Merge branch 'tg/range-diff-corner-case-fix' into maint

Recently added "range-diff" had a corner-case bug to cause it
segfault, which has been corrected.

* tg/range-diff-corner-case-fix:
  linear-assignment: fix potential out of bounds memory access

6 years agoMerge branch 'en/update-ref-no-deref-stdin' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:46 +0000 (22:57 +0900)] 
Merge branch 'en/update-ref-no-deref-stdin' into maint

"git update-ref" learned to make both "--no-deref" and "--stdin"
work at the same time.

* en/update-ref-no-deref-stdin:
  update-ref: allow --no-deref with --stdin
  update-ref: fix type of update_flags variable to match its usage

6 years agoMerge branch 'ms/remote-error-message-update' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:46 +0000 (22:57 +0900)] 
Merge branch 'ms/remote-error-message-update' into maint

Update error messages given by "git remote" and make them consistent.

* ms/remote-error-message-update:
  builtin/remote: quote remote name on error to display empty name

6 years agoMerge branch 'jt/lazy-object-fetch-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:45 +0000 (22:57 +0900)] 
Merge branch 'jt/lazy-object-fetch-fix' into maint

The code to backfill objects in lazily cloned repository did not
work correctly, which has been corrected.

* jt/lazy-object-fetch-fix:
  fetch-object: set exact_oid when fetching
  fetch-object: unify fetch_object[s] functions

6 years agoMerge branch 'en/sequencer-empty-edit-result-aborts' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:45 +0000 (22:57 +0900)] 
Merge branch 'en/sequencer-empty-edit-result-aborts' into maint

"git rebase" etc. in Git 2.19 fails to abort when given an empty
commit log message as result of editing, which has been corrected.

* en/sequencer-empty-edit-result-aborts:
  sequencer: fix --allow-empty-message behavior, make it smarter

6 years agoMerge branch 'nd/attr-pathspec-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:45 +0000 (22:57 +0900)] 
Merge branch 'nd/attr-pathspec-fix' into maint

"git add ':(attr:foo)'" is not supported and is supposed to be
rejected while the command line arguments are parsed, but we fail
to reject such a command line upfront.

* nd/attr-pathspec-fix:
  add: do not accept pathspec magic 'attr'

6 years agoMerge branch 'en/rerere-multi-stage-1-fix' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:44 +0000 (22:57 +0900)] 
Merge branch 'en/rerere-multi-stage-1-fix' into maint

A corner case bugfix in "git rerere" code.

* en/rerere-multi-stage-1-fix:
  rerere: avoid buffer overrun
  t4200: demonstrate rerere segfault on specially crafted merge

6 years agoMerge branch 'js/mingw-o-append' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:44 +0000 (22:57 +0900)] 
Merge branch 'js/mingw-o-append' into maint

Further fix for O_APPEND emulation on Windows

* js/mingw-o-append:
  mingw: fix mingw_open_append to work with named pipes
  t0051: test GIT_TRACE to a windows named pipe

6 years agoMerge branch 'jk/reopen-tempfile-truncate' into maint
Junio C Hamano [Wed, 21 Nov 2018 13:57:43 +0000 (22:57 +0900)] 
Merge branch 'jk/reopen-tempfile-truncate' into maint

Fix for a long-standing bug that leaves the index file corrupt when
it shrinks during a partial commit.

* jk/reopen-tempfile-truncate:
  reopen_tempfile(): truncate opened file