Jeff King [Mon, 7 Jan 2019 08:34:40 +0000 (03:34 -0500)]
http: use struct object_id instead of bare sha1
The dumb-http walker code still passes around and stores object ids as
"unsigned char *sha1". Let's modernize it.
There's probably still more work to be done to handle dumb-http fetches
with a new, larger hash. But that can wait; this is enough that we can
now convert some of the low-level object routines that we call into from
here (and in fact, some of the "oid.hash" references added here will be
further improved in the next patch).
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Mon, 7 Jan 2019 08:34:12 +0000 (03:34 -0500)]
update comment references to sha1_object_info()
Commit
abef9020e3 (sha1_file: convert sha1_object_info* to object_id,
2018-03-12) renamed the function to oid_object_info(), but missed some
comments which mention it.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Mon, 7 Jan 2019 08:33:52 +0000 (03:33 -0500)]
sha1-file: fix outdated sha1 comment references
Commit
17e65451e3 (sha1_file: convert check_sha1_signature to struct
object_id, 2018-03-12) switched to using the name "oid", but forgot to
update the variable name in the comment.
Likewise,
b4f5aca40e (sha1_file: convert read_sha1_file to struct
object_id, 2018-03-12) dropped the name read_sha1_file(), but missed a
comment which mentions it.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Mon, 7 Jan 2019 17:29:16 +0000 (18:29 +0100)]
object-store: retire odb_load_loose_cache()
Inline odb_load_loose_cache() into its only remaining caller,
odb_loose_cache(). The latter offers a nicer interface for loading the
cache, as it doesn't require callers to deal with fanout directory
numbers directly.
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sun, 6 Jan 2019 16:45:52 +0000 (17:45 +0100)]
object-store: use one oid_array per subdirectory for loose cache
The loose objects cache is filled one subdirectory at a time as needed.
It is stored in an oid_array, which has to be resorted after each add
operation. So when querying a wide range of objects, the partially
filled array needs to be resorted up to 255 times, which takes over 100
times longer than sorting once.
Use one oid_array for each subdirectory. This ensures that entries have
to only be sorted a single time. It also avoids eight binary search
steps for each cache lookup as a small bonus.
The cache is used for collision checks for the log placeholders %h, %t
and %p, and we can see the change speeding them up in a repository with
ca. 100 objects per subdirectory:
$ git count-objects
26733 objects, 68808 kilobytes
Test HEAD^ HEAD
--------------------------------------------------------------------
4205.1: log with %H 0.51(0.47+0.04) 0.51(0.49+0.02) +0.0%
4205.2: log with %h 0.84(0.82+0.02) 0.60(0.57+0.03) -28.6%
4205.3: log with %T 0.53(0.49+0.04) 0.52(0.48+0.03) -1.9%
4205.4: log with %t 0.84(0.80+0.04) 0.60(0.59+0.01) -28.6%
4205.5: log with %P 0.52(0.48+0.03) 0.51(0.50+0.01) -1.9%
4205.6: log with %p 0.85(0.78+0.06) 0.61(0.56+0.05) -28.2%
4205.7: log with %h-%h-%h 0.96(0.92+0.03) 0.69(0.64+0.04) -28.1%
Reported-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sun, 6 Jan 2019 16:45:39 +0000 (17:45 +0100)]
object-store: factor out odb_clear_loose_cache()
Add and use a function for emptying the loose object cache, so callers
don't have to know any of its implementation details.
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe [Sun, 6 Jan 2019 16:45:30 +0000 (17:45 +0100)]
object-store: factor out odb_loose_cache()
Add and use a function for loading the entries of a loose object
subdirectory for a given object ID. It frees callers from deriving the
fanout key; they can use the returned oid_array reference for lookups or
forward range scans.
Suggested-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>
Junio C Hamano [Fri, 4 Jan 2019 21:39:39 +0000 (13:39 -0800)]
First batch after 2.20.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 4 Jan 2019 21:33:34 +0000 (13:33 -0800)]
Merge branch 'mk/http-backend-kill-children-before-exit'
The http-backend CGI process did not correctly clean up the child
processes it spawns to run upload-pack etc. when it dies itself,
which has been corrected.
* mk/http-backend-kill-children-before-exit:
http-backend: enable cleaning up forked upload/receive-pack on exit
Junio C Hamano [Fri, 4 Jan 2019 21:33:34 +0000 (13:33 -0800)]
Merge branch 'sd/stash-wo-user-name'
A properly configured username/email is required under
user.useConfigOnly in order to create commits; now "git stash"
(even though it creates commit objects to represent stash entries)
command is exempt from the requirement.
* sd/stash-wo-user-name:
stash: tolerate missing user identity
Junio C Hamano [Fri, 4 Jan 2019 21:33:34 +0000 (13:33 -0800)]
Merge branch 'sg/clone-initial-fetch-configuration'
Refspecs configured with "git -c var=val clone" did not propagate
to the resulting repository, which has been corrected.
* sg/clone-initial-fetch-configuration:
Documentation/clone: document ignored configuration variables
clone: respect additional configured fetch refspecs during initial fetch
clone: use a more appropriate variable name for the default refspec
Junio C Hamano [Fri, 4 Jan 2019 21:33:34 +0000 (13:33 -0800)]
Merge branch 'nd/checkout-dwim-fix'
"git checkout frotz" (without any double-dash) avoids ambiguity by
making sure 'frotz' cannot be interpreted as a revision and as a
path at the same time. This safety has been updated to check also
a unique remote-tracking branch 'frotz' in a remote, when dwimming
to create a local branch 'frotz' out of a remote-tracking branch
'frotz' from a remote.
* nd/checkout-dwim-fix:
checkout: disambiguate dwim tracking branches and local files
Junio C Hamano [Fri, 4 Jan 2019 21:33:33 +0000 (13:33 -0800)]
Merge branch 'ab/push-dwim-dst'
"git push $there $src:$dst" rejects when $dst is not a fully
qualified refname and not clear what the end user meant. The
codepath has been taught to give a clearer error message, and also
guess where the push should go by taking the type of the pushed
object into account (e.g. a tag object would want to go under
refs/tags/).
* ab/push-dwim-dst:
push doc: document the DWYM behavior pushing to unqualified <dst>
push: test that <src> doesn't DWYM if <dst> is unqualified
push: add an advice on unqualified <dst> push
push: move unqualified refname error into a function
push: improve the error shown on unqualified <dst> push
i18n: remote.c: mark error(...) messages for translation
remote.c: add braces in anticipation of a follow-up change
Junio C Hamano [Fri, 4 Jan 2019 21:33:33 +0000 (13:33 -0800)]
Merge branch 'en/fast-export-import'
Small fixes and features for fast-export and fast-import, mostly on
the fast-export side.
* en/fast-export-import:
fast-export: add a --show-original-ids option to show original names
fast-import: remove unmaintained duplicate documentation
fast-export: add --reference-excluded-parents option
fast-export: ensure we export requested refs
fast-export: when using paths, avoid corrupt stream with non-existent mark
fast-export: move commit rewriting logic into a function for reuse
fast-export: avoid dying when filtering by paths and old tags exist
fast-export: use value from correct enum
git-fast-export.txt: clarify misleading documentation about rev-list args
git-fast-import.txt: fix documentation for --quiet option
fast-export: convert sha1 to oid
Junio C Hamano [Fri, 4 Jan 2019 21:33:33 +0000 (13:33 -0800)]
Merge branch 'nd/the-index'
More codepaths become aware of working with in-core repository
instance other than the default "the_repository".
* nd/the-index: (22 commits)
rebase-interactive.c: remove the_repository references
rerere.c: remove the_repository references
pack-*.c: remove the_repository references
pack-check.c: remove the_repository references
notes-cache.c: remove the_repository references
line-log.c: remove the_repository reference
diff-lib.c: remove the_repository references
delta-islands.c: remove the_repository references
cache-tree.c: remove the_repository references
bundle.c: remove the_repository references
branch.c: remove the_repository reference
bisect.c: remove the_repository reference
blame.c: remove implicit dependency the_repository
sequencer.c: remove implicit dependency on the_repository
sequencer.c: remove implicit dependency on the_index
transport.c: remove implicit dependency on the_index
notes-merge.c: remove implicit dependency the_repository
notes-merge.c: remove implicit dependency on the_index
list-objects.c: reduce the_repository references
list-objects-filter.c: remove implicit dependency on the_index
...
Junio C Hamano [Fri, 4 Jan 2019 21:33:32 +0000 (13:33 -0800)]
Merge branch 'jk/loose-object-cache'
Code clean-up with optimization for the codepath that checks
(non-)existence of loose objects.
* jk/loose-object-cache:
odb_load_loose_cache: fix strbuf leak
fetch-pack: drop custom loose object cache
sha1-file: use loose object cache for quick existence check
object-store: provide helpers for loose_objects_cache
sha1-file: use an object_directory for the main object dir
handle alternates paths the same as the main object dir
sha1_file_name(): overwrite buffer instead of appending
rename "alternate_object_database" to "object_directory"
submodule--helper: prefer strip_suffix() to ends_with()
fsck: do not reuse child_process structs
Junio C Hamano [Fri, 4 Jan 2019 21:33:32 +0000 (13:33 -0800)]
Merge branch 'fc/http-version'
The "http.version" configuration variable can be used with recent
enough cURL library to force the version of HTTP used to talk when
fetching and pushing.
* fc/http-version:
http: add support selecting http version
Junio C Hamano [Fri, 4 Jan 2019 21:33:32 +0000 (13:33 -0800)]
Merge branch 'en/merge-path-collision'
Updates for corner cases in merge-recursive.
* en/merge-path-collision:
t6036: avoid non-portable "cp -a"
merge-recursive: combine error handling
t6036, t6043: increase code coverage for file collision handling
merge-recursive: improve rename/rename(1to2)/add[/add] handling
merge-recursive: use handle_file_collision for add/add conflicts
merge-recursive: improve handling for rename/rename(2to1) conflicts
merge-recursive: fix rename/add conflict handling
merge-recursive: new function for better colliding conflict resolutions
merge-recursive: increase marker length with depth of recursion
t6036, t6042: testcases for rename collision of already conflicting files
t6042: add tests for consistency in file collision conflict handling
Junio C Hamano [Fri, 4 Jan 2019 21:33:31 +0000 (13:33 -0800)]
Merge branch 'nd/i18n'
More _("i18n") markings.
* nd/i18n:
fsck: mark strings for translation
fsck: reduce word legos to help i18n
parse-options.c: mark more strings for translation
parse-options.c: turn some die() to BUG()
parse-options: replace opterror() with optname()
repack: mark more strings for translation
remote.c: mark messages for translation
remote.c: turn some error() or die() to BUG()
reflog: mark strings for translation
read-cache.c: add missing colon separators
read-cache.c: mark more strings for translation
read-cache.c: turn die("internal error") to BUG()
attr.c: mark more string for translation
archive.c: mark more strings for translation
alias.c: mark split_cmdline_strerror() strings for translation
git.c: mark more strings for translation
Junio C Hamano [Sat, 15 Dec 2018 04:00:25 +0000 (13:00 +0900)]
Sync with Git 2.20.1
* maint:
Git 2.20.1
.gitattributes: ensure t/oid-info/* has eol=lf
t9902: 'send-email' test case requires PERL
t4256: mark support files as LF-only
parse-options: fix SunCC compiler warning
help -a: handle aliases with long names gracefully
help.h: fix coding style
run-command: report exec failure
Junio C Hamano [Sat, 15 Dec 2018 03:36:06 +0000 (12:36 +0900)]
Prepare for 2.21 cycle to start soonish
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 15 Dec 2018 03:31:34 +0000 (12:31 +0900)]
Git 2.20.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 15 Dec 2018 03:24:34 +0000 (12:24 +0900)]
Merge branch 'jc/run-command-report-exec-failure-fix' into maint
A recent update accidentally squelched an error message when the
run_command API failed to run a missing command, which has been
corrected.
* jc/run-command-report-exec-failure-fix:
run-command: report exec failure
Junio C Hamano [Sat, 15 Dec 2018 03:24:33 +0000 (12:24 +0900)]
Merge branch 'js/help-commands-verbose-by-default-fix' into maint
"git help -a" did not work well when an overly long alias is
defined, which has been corrected.
* js/help-commands-verbose-by-default-fix:
help -a: handle aliases with long names gracefully
help.h: fix coding style
Junio C Hamano [Sat, 15 Dec 2018 03:24:33 +0000 (12:24 +0900)]
Merge branch 'nd/show-gitcomp-compilation-fix' into maint
Portability fix for a recent update to parse-options API.
* nd/show-gitcomp-compilation-fix:
parse-options: fix SunCC compiler warning
Junio C Hamano [Sat, 15 Dec 2018 03:24:32 +0000 (12:24 +0900)]
Merge branch 'js/t9902-send-email-completion-fix' into maint
* js/t9902-send-email-completion-fix:
t9902: 'send-email' test case requires PERL
Junio C Hamano [Sat, 15 Dec 2018 03:24:32 +0000 (12:24 +0900)]
Merge branch 'js/mailinfo-format-flowed-fix' into maint
Test portability fix.
* js/mailinfo-format-flowed-fix:
t4256: mark support files as LF-only
Junio C Hamano [Sat, 15 Dec 2018 03:24:32 +0000 (12:24 +0900)]
Merge branch 'ds/hash-independent-tests-fix' into maint
Test portability fix.
* ds/hash-independent-tests-fix:
.gitattributes: ensure t/oid-info/* has eol=lf
Derrick Stolee [Tue, 11 Dec 2018 20:35:46 +0000 (12:35 -0800)]
.gitattributes: ensure t/oid-info/* has eol=lf
The new test_oid machinery in the test library requires reading
some information from t/oid-info/hash-info and t/oid-info/oid.
The logic to read from these files in shell uses built-in "read"
command, which leaves CR at the end of these text files when they
are checked out with CRLF line endings, at least when run with bash
shipped with Git for Windows. This results in an unexpected value
in the variable these lines are read into, leading the tests to
fail.
Mark them to be checked out always with the LF line endings.
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Thu, 13 Dec 2018 14:04:19 +0000 (06:04 -0800)]
t9902: 'send-email' test case requires PERL
The oneline notwithstanding,
13374987dd (completion: use _gitcompbuiltin
for format-patch, 2018-11-03) changed also the way send-email options
are completed, by asking the git send-email command itself what options
it offers.
Necessarily, this must fail when built with NO_PERL because send-email
itself is a Perl script. Which means that we need the PERL prerequisite
for the send-email test case in t9902.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Wed, 12 Dec 2018 18:14:54 +0000 (10:14 -0800)]
t4256: mark support files as LF-only
The test t4256-am-format-flowed.sh requires carefully applying a
patch after ignoring padding whitespace. This breaks if the file
is munged to include CRLF line endings instead of LF.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Nguyễn Thái Ngọc Duy [Tue, 11 Dec 2018 15:35:01 +0000 (16:35 +0100)]
parse-options: fix SunCC compiler warning
The compiler reports this because show_gitcomp() never actually
returns a value:
"parse-options.c", line 520: warning: Function has no return
statement : show_gitcomp
We could shut the compiler up. But instead let's not bury exit() too
deep. Do the same as internal -h handling, return a special error code
and handle the exit() in parse_options() (and other
parse_options_step() callers) instead.
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>
Johannes Schindelin [Tue, 11 Dec 2018 14:58:11 +0000 (06:58 -0800)]
help -a: handle aliases with long names gracefully
We take pains to determine the longest command beforehand, so that we
can align the category column after printing the command names.
However, then we re-use that value when printing the aliases. If any
alias name is longer than the longest command name, we consequently try
to add a negative number of spaces (but `mput_char()` does not expect
any negative values and simply decrements until the value is 0, i.e.
it tries to add close to 2**31 spaces).
Let's fix this by adjusting the `longest` variable before printing the
aliases.
This fixes https://github.com/git-for-windows/git/issues/1975.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Tue, 11 Dec 2018 14:58:10 +0000 (06:58 -0800)]
help.h: fix coding style
We want a space after the `while` keyword.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Tue, 11 Dec 2018 05:46:07 +0000 (14:46 +0900)]
run-command: report exec failure
In
321fd823 ("run-command: mark path lookup errors with ENOENT",
2018-10-24), we rewrote the logic to execute a command by looking
in the directories on $PATH; as a side effect, a request to run a
command that is not found on $PATH is noticed even before a child
process is forked to execute it.
We however stopped to report an exec failure in such a case by
mistake. Add a logic to report the error unless silent-exec-failure
is requested, to match the original code.
Reported-by: John Passaro <john.a.passaro@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 9 Dec 2018 04:16:21 +0000 (13:16 +0900)]
Git 2.20
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 9 Dec 2018 04:11:36 +0000 (13:11 +0900)]
Merge tag 'l10n-2.20.0-rnd3' of https://github.com/git-l10n/git-po
l10n-2.20.0-rnd3
* tag 'l10n-2.20.0-rnd3' of https://github.com/git-l10n/git-po: (22 commits)
l10n: de.po: fix two messages
l10n: zh_CN: for git v2.20.0 l10n round 1 to 3
l10n: update German translation
l10n: bg.po: Updated Bulgarian translation (4187t)
l10n: sv.po: Update Swedish translation (4187t0f0u)
l10n: fr.po v2.20.0 round 3
l10n: vi(4187t): Updated Vietnamese translation for v2.20.0 rd3
l10n: es.po v2.20.0 round 3
l10n: git.pot: v2.20.0 round 3 (5 new, 3 removed)
l10n: vi(4185t): Updated Vietnamese translation for v2.20.0
l10n: es.po v2.20.0 round 1
l10n: bg.po: Updated Bulgarian translation (4185t)
l10n: git.pot: v2.20.0 round 2 (2 new, 2 removed)
l10n: bg.po: Updated Bulgarian translation (4185t)
l10n: sv.po: Update Swedish translation (4185t0f0u)
l10n: fr.po v2.20 rnd 1
l10n: Update Catalan translation
l10n: git.pot: v2.20.0 round 1 (254 new, 27 removed)
l10n: Update Catalan translation
l10n: vi.po: fix typo in pack-objects
...
Ralf Thielow [Fri, 7 Dec 2018 18:43:07 +0000 (19:43 +0100)]
l10n: de.po: fix two messages
Reported-by: Phillip Szelat <phillip.szelat@gmail.com>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Jiang Xin [Tue, 20 Nov 2018 02:18:06 +0000 (10:18 +0800)]
l10n: zh_CN: for git v2.20.0 l10n round 1 to 3
Translate 257 new messages (4187t0f0u) for git 2.20.0.
Reviewed-by: Zhou Fangyi <fangyi.zhou@yuriko.moe>
Reviewed-by: 依云 <lilydjwg@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Ralf Thielow [Thu, 6 Dec 2018 06:44:41 +0000 (07:44 +0100)]
l10n: update German translation
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
Junio C Hamano [Tue, 4 Dec 2018 03:49:50 +0000 (12:49 +0900)]
Merge branch 'es/format-patch-range-diff-fix-fix'
* es/format-patch-range-diff-fix-fix:
range-diff: always pass at least minimal diff options
Junio C Hamano [Tue, 4 Dec 2018 03:49:39 +0000 (12:49 +0900)]
Merge branch 'en/rebase-consistency'
* en/rebase-consistency:
rebase docs: fix incorrect format of the section Behavioral Differences
Johannes Sixt [Mon, 3 Dec 2018 17:34:49 +0000 (18:34 +0100)]
rebase docs: fix incorrect format of the section Behavioral Differences
The text body of section Behavioral Differences is typeset as code,
but should be regular text. Remove the indentation to achieve that.
While here, prettify the language:
- use "the x backend" instead of "x-based rebase";
- use present tense instead of future tense;
and use subsections instead of a list.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin Ågren [Mon, 3 Dec 2018 20:21:51 +0000 (21:21 +0100)]
RelNotes 2.20: drop spurious double quote
We have three double-quote characters, which is one too many or too few.
Dropping the last one seems to match the original intention best.
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin Ågren [Mon, 3 Dec 2018 20:21:50 +0000 (21:21 +0100)]
RelNotes 2.20: clarify sentence
I had to read this sentence a few times to understand it. Let's try to
clarify it.
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin Ågren [Mon, 3 Dec 2018 20:21:49 +0000 (21:21 +0100)]
RelNotes 2.20: move some items between sections
Some items that should be in "Performance, Internal Implementation,
Development Support etc." have ended up in "UI, Workflows & Features"
and "Fixes since v2.19". Move them, and do s/uses/use/ while at it.
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Martin Ågren [Mon, 3 Dec 2018 21:21:31 +0000 (16:21 -0500)]
range-diff: always pass at least minimal diff options
Commit
d8981c3f88 ("format-patch: do not let its diff-options affect
--range-diff", 2018-11-30) taught `show_range_diff()` to accept a
NULL-pointer as an indication that it should use its own "reasonable
default". That fixed a regression from
a5170794 ("Merge branch
'ab/range-diff-no-patch'", 2018-11-18), but unfortunately it introduced
a regression of its own.
In particular, it means we forget the `file` member of the diff options,
so rather than placing a range-diff in the cover-letter, we write it to
stdout. In order to fix this, rewrite the two callers adjusted by
d8981c3f88 to instead create a "dummy" set of diff options where they
only fill in the fields we absolutely require, such as output file and
color.
Modify and extend the existing tests to try and verify that the right
contents end up in the right place.
Don't revert `show_range_diff()`, i.e., let it keep accepting NULL.
Rather than removing what is dead code and figuring out it isn't
actually dead and we've broken 2.20, just leave it for now.
[es: retain diff coloring when going to stdout]
Signed-off-by: Martin Ågren <martin.agren@gmail.com>
Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jiang Xin [Mon, 3 Dec 2018 04:49:45 +0000 (12:49 +0800)]
Merge branch 'master' of git://github.com/alshopov/git-po
Alexander Shopov [Sun, 2 Dec 2018 12:42:29 +0000 (13:42 +0100)]
l10n: bg.po: Updated Bulgarian translation (4187t)
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Peter Krefting [Sun, 2 Dec 2018 14:43:34 +0000 (15:43 +0100)]
l10n: sv.po: Update Swedish translation (4187t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Jiang Xin [Sun, 2 Dec 2018 14:36:36 +0000 (22:36 +0800)]
Merge branch 'fr_2.20_round3' of git://github.com/jnavila/git
Jean-Noël Avila [Sun, 2 Dec 2018 10:03:23 +0000 (11:03 +0100)]
l10n: fr.po v2.20.0 round 3
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Jiang Xin [Sun, 2 Dec 2018 09:57:24 +0000 (17:57 +0800)]
Merge branch 'master' of https://github.com/vnwildman/git
Tran Ngoc Quan [Sun, 2 Dec 2018 07:15:00 +0000 (14:15 +0700)]
l10n: vi(4187t): Updated Vietnamese translation for v2.20.0 rd3
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
Christopher Diaz Riveros [Sun, 2 Dec 2018 04:12:59 +0000 (23:12 -0500)]
l10n: es.po v2.20.0 round 3
Signed-off-by: Christopher Diaz Riveros <chrisadr@gentoo.org>
Jiang Xin [Sun, 2 Dec 2018 02:56:26 +0000 (10:56 +0800)]
l10n: git.pot: v2.20.0 round 3 (5 new, 3 removed)
Generate po/git.pot from v2.20.0-rc2 for git v2.20.0 l10n round 3.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Sun, 2 Dec 2018 02:55:14 +0000 (10:55 +0800)]
Merge branch 'master' of git://github.com/git-l10n/git-po
Jiang Xin [Sun, 2 Dec 2018 02:25:09 +0000 (10:25 +0800)]
Merge branch 'master' of https://github.com/vnwildman/git
Tran Ngoc Quan [Sun, 2 Dec 2018 01:56:42 +0000 (08:56 +0700)]
l10n: vi(4185t): Updated Vietnamese translation for v2.20.0
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
Christopher Diaz Riveros [Sat, 1 Dec 2018 18:41:27 +0000 (13:41 -0500)]
l10n: es.po v2.20.0 round 1
Signed-off-by: Christopher Diaz Riveros <chrisadr@gentoo.org>
Junio C Hamano [Sat, 1 Dec 2018 12:44:56 +0000 (21:44 +0900)]
Git 2.20-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sat, 1 Dec 2018 12:41:45 +0000 (21:41 +0900)]
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
Junio C Hamano [Sat, 1 Dec 2018 12:41:45 +0000 (21:41 +0900)]
Merge branch 'ss/msvc-strcasecmp'
MSVC update.
* ss/msvc-strcasecmp:
msvc: directly use MS version (_stricmp) of strcasecmp
Junio C Hamano [Sat, 1 Dec 2018 12:41:44 +0000 (21:41 +0900)]
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
Junio C Hamano [Sat, 1 Dec 2018 12:41:44 +0000 (21:41 +0900)]
Merge branch 'sg/test-cmp-rev'
Test framework update.
* sg/test-cmp-rev:
test-lib-functions: make 'test_cmp_rev' more informative on failure
Junio C Hamano [Sat, 1 Dec 2018 12:41:44 +0000 (21:41 +0900)]
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
Junio C Hamano [Sat, 1 Dec 2018 12:41:44 +0000 (21:41 +0900)]
Merge branch 'rt/rebase-in-c-message-fix'
* rt/rebase-in-c-message-fix:
builtin/rebase.c: remove superfluous space in messages
Junio C Hamano [Sat, 1 Dec 2018 12:41:43 +0000 (21:41 +0900)]
Merge branch 'sg/daemon-test-signal-fix'
Test fix.
* sg/daemon-test-signal-fix:
t/lib-git-daemon: fix signal checking
Junio C Hamano [Sat, 1 Dec 2018 12:41:43 +0000 (21:41 +0900)]
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
Junio C Hamano [Sat, 1 Dec 2018 12:41:42 +0000 (21:41 +0900)]
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
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
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
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
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>
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>
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>
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>
Jiang Xin [Sat, 1 Dec 2018 08:14:16 +0000 (16:14 +0800)]
Merge branch 'master' of git://github.com/git-l10n/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
Jiang Xin [Sat, 1 Dec 2018 08:11:45 +0000 (16:11 +0800)]
Merge branch 'master' of git://github.com/nafmo/git-l10n-sv
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
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>
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>
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>
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>
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>
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
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
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>
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>
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>
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>
Æ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>
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>
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>
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
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
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
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>
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>