Commit graph

54091 commits

Author SHA1 Message Date
Carlo Marcelo Arenas Belón
82cbc8cde2 tests: add lint for non portable cp -a
cp -a, while a common flag isn't in POSIX and will therefore fail
on systems that don't have GNUish tools (like OpenBSD, AIX or Solaris)

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-12-03 09:26:02 +09:00
Junio C Hamano
8a0ba68f6d Git 2.20-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-12-01 21:44:56 +09:00
Junio C Hamano
15cc2da0b5 Merge branch 'gh/diff-raw-has-no-ellipses'
"git diff --raw" lost ellipses to adjust the output columns for
some time now, but the documentation still showed them.

* gh/diff-raw-has-no-ellipses:
  doc: update diff-format.txt for removed ellipses in --raw
2018-12-01 21:41:45 +09:00
Junio C Hamano
c0e286a3d2 Merge branch 'ss/msvc-strcasecmp'
MSVC update.

* ss/msvc-strcasecmp:
  msvc: directly use MS version (_stricmp) of strcasecmp
2018-12-01 21:41:45 +09:00
Junio C Hamano
6233704936 Merge branch 'sg/test-BUG'
test framework has been updated to make a bug in the test script
(as opposed to bugs in Git that are discovered by running the
tests) stand out more prominently.

* sg/test-BUG:
  tests: send "bug in the test script" errors to the script's stderr
2018-12-01 21:41:44 +09:00
Junio C Hamano
152cb0cdc3 Merge branch 'sg/test-cmp-rev'
Test framework update.

* sg/test-cmp-rev:
  test-lib-functions: make 'test_cmp_rev' more informative on failure
2018-12-01 21:41:44 +09:00
Junio C Hamano
2c23f0b67e Merge branch 'ab/push-example-in-doc'
An error message that sugggests how to give correct arguments to
"git push" has been updated.

* ab/push-example-in-doc:
  push: change needlessly ambiguous example in error
2018-12-01 21:41:44 +09:00
Junio C Hamano
544d114eb2 Merge branch 'rt/rebase-in-c-message-fix'
* rt/rebase-in-c-message-fix:
  builtin/rebase.c: remove superfluous space in messages
2018-12-01 21:41:44 +09:00
Junio C Hamano
97b6d63717 Merge branch 'sg/daemon-test-signal-fix'
Test fix.

* sg/daemon-test-signal-fix:
  t/lib-git-daemon: fix signal checking
2018-12-01 21:41:43 +09:00
Junio C Hamano
1efd0e8437 Merge branch 'ma/reset-doc-rendering-fix'
Doc updates.

* ma/reset-doc-rendering-fix:
  git-reset.txt: render literal examples as monospace
  git-reset.txt: render tables correctly under Asciidoctor
2018-12-01 21:41:43 +09:00
Junio C Hamano
671e629d6e Merge branch 'ab/replace-graft-with-replace-advice'
The advice message to tell the user to migrate an existing graft
file to the replace system when a graft file was read was shown
even when "git replace --convert-graft-file" command, which is the
way the message suggests to use, was running, which made little
sense.

* ab/replace-graft-with-replace-advice:
  advice: don't pointlessly suggest --convert-graft-file
2018-12-01 21:41:42 +09:00
Junio C Hamano
881d72eff8 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
2018-12-01 21:41:42 +09:00
Junio C Hamano
945f6bd1ce 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
2018-12-01 21:41:42 +09:00
Junio C Hamano
d32fa3c6f7 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
2018-12-01 21:41:42 +09:00
Ralf Thielow
eff199a6c0 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>
2018-12-01 20:53:05 +09:00
Johannes Schindelin
8797f0f008 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>
2018-11-30 14:43:00 +09:00
Johannes Schindelin
13a5a9f0fd 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>
2018-11-30 13:49:20 +09:00
Junio C Hamano
d8981c3f88 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>
2018-11-30 13:47:55 +09:00
Junio C Hamano
7068cbc4ab Merge branch 'ja/i18n-fix'
* ja/i18n-fix:
  i18n: fix small typos
2018-11-29 16:28:39 +09:00
Junio C Hamano
9ec8af6c9e Merge branch 'nd/n18n-fix'
* nd/n18n-fix:
  transport-helper.c: do not translate a string twice
2018-11-29 16:28:39 +09:00
Jean-Noël Avila
d355e46a15 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>
2018-11-29 15:45:31 +09:00
Martin Ågren
3006f5ee16 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>
2018-11-29 15:44:18 +09:00
Martin Ågren
4724f3177a 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>
2018-11-29 15:44:15 +09:00
Nguyễn Thái Ngọc Duy
739fb7167d 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>
2018-11-29 15:30:03 +09:00
Ævar Arnfjörð Bjarmason
8821e90a09 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>
2018-11-29 15:15:17 +09:00
SZEDER Gábor
4c2eb06419 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>
2018-11-27 09:53:58 +09:00
Junio C Hamano
a1598010f7 Merge branch 'nd/per-worktree-ref-iteration'
Build fix.

* nd/per-worktree-ref-iteration:
  files-backend.c: fix build error on Solaris
2018-11-26 23:13:43 +09:00
Junio C Hamano
590e5b88ec 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
2018-11-26 23:13:42 +09:00
Junio C Hamano
ab15ccde3d 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
2018-11-26 23:13:42 +09:00
Greg Hurrell
f9ea6e45ed 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>
2018-11-26 15:59:14 +09:00
Nguyễn Thái Ngọc Duy
46c0eb5843 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>
2018-11-26 15:22:58 +09:00
Jeff King
8c8fad9e4b 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>
2018-11-24 10:44:30 +09:00
Torsten Bögershausen
a7f609ec5f 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>
2018-11-24 10:41:24 +09:00
Junio C Hamano
7f4e641693 Git 2.20-rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-11-21 23:24:52 +09:00
Junio C Hamano
7cb1ea13d4 Sync with 2.19.2 2018-11-21 23:23:48 +09:00
Junio C Hamano
98cdfbb84a Git 2.19.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-11-21 23:22:12 +09:00
Junio C Hamano
a4830a7a45 Merge branch 'sg/test-rebase-editor-fix' into maint
* sg/test-rebase-editor-fix:
  t3404-rebase-interactive: test abbreviated commands
2018-11-21 22:58:10 +09:00
Junio C Hamano
85eb0f162c Merge branch 'tb/char-may-be-unsigned' into maint
Build portability fix.

* tb/char-may-be-unsigned:
  path.c: char is not (always) signed
2018-11-21 22:58:09 +09:00
Junio C Hamano
2b153408b4 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
2018-11-21 22:58:09 +09:00
Junio C Hamano
227124b271 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
2018-11-21 22:58:08 +09:00
Junio C Hamano
196afc439c 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++)"
2018-11-21 22:58:08 +09:00
Junio C Hamano
eba14167f1 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'
2018-11-21 22:58:07 +09:00
Junio C Hamano
b53df43bf5 Merge branch 'sg/doc-show-branch-typofix' into maint
Docfix.

* sg/doc-show-branch-typofix:
  doc: fix small typo in git show-branch
2018-11-21 22:58:07 +09:00
Junio C Hamano
69ae6660fc Merge branch 'tq/branch-style-fix' into maint
Code clean-up.

* tq/branch-style-fix:
  branch: trivial style fix
2018-11-21 22:58:06 +09:00
Junio C Hamano
2b40fdd079 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
2018-11-21 22:58:06 +09:00
Junio C Hamano
c2d6378458 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
2018-11-21 22:58:06 +09:00
Junio C Hamano
a6dc172d00 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
2018-11-21 22:58:05 +09:00
Junio C Hamano
c3ba2ae0ba 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
2018-11-21 22:58:05 +09:00
Junio C Hamano
53016f4c13 Merge branch 'mm/doc-no-dashed-git' into maint
Doc update.

* mm/doc-no-dashed-git:
  doc: fix a typo and clarify a sentence
2018-11-21 22:58:05 +09:00
Junio C Hamano
95500c8a0d 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
2018-11-21 22:58:04 +09:00