Johannes Schindelin [Fri, 12 Feb 2021 14:50:14 +0000 (15:50 +0100)]
Sync with 2.28.1
* maint-2.28:
Git 2.28.1
Git 2.27.1
Git 2.26.3
Git 2.25.5
Git 2.24.4
Git 2.23.4
Git 2.22.5
Git 2.21.4
Git 2.20.5
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:50:10 +0000 (15:50 +0100)]
Git 2.28.1
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:50:09 +0000 (15:50 +0100)]
Sync with 2.27.1
* maint-2.27:
Git 2.27.1
Git 2.26.3
Git 2.25.5
Git 2.24.4
Git 2.23.4
Git 2.22.5
Git 2.21.4
Git 2.20.5
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:50:05 +0000 (15:50 +0100)]
Git 2.27.1
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:50:04 +0000 (15:50 +0100)]
Sync with 2.26.3
* maint-2.26:
Git 2.26.3
Git 2.25.5
Git 2.24.4
Git 2.23.4
Git 2.22.5
Git 2.21.4
Git 2.20.5
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:50:00 +0000 (15:50 +0100)]
Git 2.26.3
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:49:59 +0000 (15:49 +0100)]
Sync with 2.25.5
* maint-2.25:
Git 2.25.5
Git 2.24.4
Git 2.23.4
Git 2.22.5
Git 2.21.4
Git 2.20.5
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:49:55 +0000 (15:49 +0100)]
Git 2.25.5
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:49:55 +0000 (15:49 +0100)]
Sync with 2.24.4
* maint-2.24:
Git 2.24.4
Git 2.23.4
Git 2.22.5
Git 2.21.4
Git 2.20.5
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:49:50 +0000 (15:49 +0100)]
Git 2.24.4
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:49:50 +0000 (15:49 +0100)]
Sync with 2.23.4
* maint-2.23:
Git 2.23.4
Git 2.22.5
Git 2.21.4
Git 2.20.5
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:49:46 +0000 (15:49 +0100)]
Git 2.23.4
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:49:45 +0000 (15:49 +0100)]
Sync with 2.22.5
* maint-2.22:
Git 2.22.5
Git 2.21.4
Git 2.20.5
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:49:41 +0000 (15:49 +0100)]
Git 2.22.5
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:49:41 +0000 (15:49 +0100)]
Sync with 2.21.4
* maint-2.21:
Git 2.21.4
Git 2.20.5
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:49:36 +0000 (15:49 +0100)]
Git 2.21.4
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:49:35 +0000 (15:49 +0100)]
Sync with 2.20.5
* maint-2.20:
Git 2.20.5
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:49:17 +0000 (15:49 +0100)]
Git 2.20.5
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:49:17 +0000 (15:49 +0100)]
Sync with 2.19.6
* maint-2.19:
Git 2.19.6
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:47:48 +0000 (15:47 +0100)]
Git 2.19.6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:47:47 +0000 (15:47 +0100)]
Sync with 2.18.5
* maint-2.18:
Git 2.18.5
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 12 Feb 2021 14:47:43 +0000 (15:47 +0100)]
Git 2.18.5
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Fri, 12 Feb 2021 14:47:42 +0000 (15:47 +0100)]
Sync with 2.17.6
* maint-2.17:
Git 2.17.6
unpack_trees(): start with a fresh lstat cache
run-command: invalidate lstat cache after a command finished
checkout: fix bug that makes checkout follow symlinks in leading path
Johannes Schindelin [Fri, 29 Jan 2021 18:13:11 +0000 (19:13 +0100)]
Git 2.17.6
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Matheus Tavares [Tue, 2 Feb 2021 21:37:10 +0000 (22:37 +0100)]
unpack_trees(): start with a fresh lstat cache
We really want to avoid relying on stale information.
Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Johannes Schindelin [Tue, 2 Feb 2021 21:09:52 +0000 (22:09 +0100)]
run-command: invalidate lstat cache after a command finished
In the previous commit, we intercepted calls to `rmdir()` to invalidate
the lstat cache in the successful case, so that the lstat cache could
not have the idea that a directory exists where there is none.
The same situation can arise, of course, when a separate process is
spawned (most notably, this is the case in `submodule_move_head()`).
Obviously, we cannot know whether a directory was removed in that
process, therefore we must invalidate the lstat cache afterwards.
Note: in contrast to `lstat_cache_aware_rmdir()`, we invalidate the
lstat cache even in case of an error: the process might have removed a
directory and still have failed afterwards.
Co-authored-by: Matheus Tavares <matheus.bernardino@usp.br>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Matheus Tavares [Thu, 10 Dec 2020 13:27:55 +0000 (10:27 -0300)]
checkout: fix bug that makes checkout follow symlinks in leading path
Before checking out a file, we have to confirm that all of its leading
components are real existing directories. And to reduce the number of
lstat() calls in this process, we cache the last leading path known to
contain only directories. However, when a path collision occurs (e.g.
when checking out case-sensitive files in case-insensitive file
systems), a cached path might have its file type changed on disk,
leaving the cache on an invalid state. Normally, this doesn't bring
any bad consequences as we usually check out files in index order, and
therefore, by the time the cached path becomes outdated, we no longer
need it anyway (because all files in that directory would have already
been written).
But, there are some users of the checkout machinery that do not always
follow the index order. In particular: checkout-index writes the paths
in the same order that they appear on the CLI (or stdin); and the
delayed checkout feature -- used when a long-running filter process
replies with "status=delayed" -- postpones the checkout of some entries,
thus modifying the checkout order.
When we have to check out an out-of-order entry and the lstat() cache is
invalid (due to a previous path collision), checkout_entry() may end up
using the invalid data and thrusting that the leading components are
real directories when, in reality, they are not. In the best case
scenario, where the directory was replaced by a regular file, the user
will get an error: "fatal: unable to create file 'foo/bar': Not a
directory". But if the directory was replaced by a symlink, checkout
could actually end up following the symlink and writing the file at a
wrong place, even outside the repository. Since delayed checkout is
affected by this bug, it could be used by an attacker to write
arbitrary files during the clone of a maliciously crafted repository.
Some candidate solutions considered were to disable the lstat() cache
during unordered checkouts or sort the entries before passing them to
the checkout machinery. But both ideas include some performance penalty
and they don't future-proof the code against new unordered use cases.
Instead, we now manually reset the lstat cache whenever we successfully
remove a directory. Note: We are not even checking whether the directory
was the same as the lstat cache points to because we might face a
scenario where the paths refer to the same location but differ due to
case folding, precomposed UTF-8 issues, or the presence of `..`
components in the path. Two regression tests, with case-collisions and
utf8-collisions, are also added for both checkout-index and delayed
checkout.
Note: to make the previously mentioned clone attack unfeasible, it would
be sufficient to reset the lstat cache only after the remove_subtree()
call inside checkout_entry(). This is the place where we would remove a
directory whose path collides with the path of another entry that we are
currently trying to check out (possibly a symlink). However, in the
interest of a thorough fix that does not leave Git open to
similar-but-not-identical attack vectors, we decided to intercept
all `rmdir()` calls in one fell swoop.
This addresses CVE-2021-21300.
Co-authored-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
Junio C Hamano [Thu, 29 Oct 2020 21:24:09 +0000 (14:24 -0700)]
Git 2.29.2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 29 Oct 2020 21:18:48 +0000 (14:18 -0700)]
Merge branch 'cc/doc-filter-branch-typofix' into maint
Docfix.
* cc/doc-filter-branch-typofix:
filter-branch doc: fix filter-repo typo
Junio C Hamano [Thu, 29 Oct 2020 21:18:47 +0000 (14:18 -0700)]
Merge branch 'jk/committer-date-is-author-date-fix' into maint
In 2.29, "--committer-date-is-author-date" option of "rebase" and
"am" subcommands lost the e-mail address by mistake, which has been
corrected.
* jk/committer-date-is-author-date-fix:
rebase: fix broken email with --committer-date-is-author-date
am: fix broken email with --committer-date-is-author-date
t3436: check --committer-date-is-author-date result more carefully
Jeff King [Fri, 23 Oct 2020 07:10:15 +0000 (03:10 -0400)]
rebase: fix broken email with --committer-date-is-author-date
Commit
7573cec52c (rebase -i: support --committer-date-is-author-date,
2020-08-17) copied the committer ident-parsing code from builtin/am.c.
And in doing so, it copied a bug in which we always set the email to an
empty string. We fixed the version in git-am in the previous commit;
this commit fixes the copied code.
Reported-by: VenomVendor <info@venomvendor.com>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Fri, 23 Oct 2020 07:09:39 +0000 (03:09 -0400)]
am: fix broken email with --committer-date-is-author-date
Commit
e8cbe2118a (am: stop exporting GIT_COMMITTER_DATE, 2020-08-17)
rewrote the code for setting the committer date to use fmt_ident(),
rather than setting an environment variable and letting commit_tree()
handle it. But it introduced two bugs:
- we use the author email string instead of the committer email
- when parsing the committer ident, we used the wrong variable to
compute the length of the email, resulting in it always being a
zero-length string
This commit fixes both, which causes our test of this option via the
rebase "apply" backend to now succeed.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Fri, 23 Oct 2020 07:08:43 +0000 (03:08 -0400)]
t3436: check --committer-date-is-author-date result more carefully
After running "rebase --committer-date-is-author-date", we confirm that
the committer date is the same as the author date. However, we don't
look at any other parts of the committer ident line to make sure we
didn't screw them up. And indeed, there are a few bugs here. Depending
on the rebase backend in use, we may accidentally use the author email
instead of the committer's, or even an empty string.
Let's teach our test_ctime_is_atime helper to check the committer name
and email, which reveals several failing tests.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 22 Oct 2020 22:07:25 +0000 (15:07 -0700)]
Git 2.29.1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Thu, 22 Oct 2020 22:01:21 +0000 (15:01 -0700)]
Merge branch 'js/no-builtins-on-disk-option' into maint
Brown-paper-bag fix.
* js/no-builtins-on-disk-option:
SKIP_DASHED_BUILT_INS: do not skip the bin/ programs
Johannes Schindelin [Wed, 21 Oct 2020 15:13:31 +0000 (15:13 +0000)]
SKIP_DASHED_BUILT_INS: do not skip the bin/ programs
The idea of the `SKIP_DASHED_BUILT_INS` option is to stop hard-linking
the built-in commands as separate executables. The patches to do that
specifically excluded the three commands `receive-pack`,
`upload-archive` and `upload-pack`, though: these commands are expected
to be present in the `PATH` in their dashed form on the server side of
any fetch/push.
However, due to an oversight by myself, even if those commands were
still hard-linked, they were not installed into `bin/`.
Noticed-by: Michael Forney <mforney@mforney.org>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Reviewed-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Christian Couder [Tue, 20 Oct 2020 08:33:43 +0000 (10:33 +0200)]
filter-branch doc: fix filter-repo typo
The name of the tool is 'git-filter-repo' not
'git-repo-filter'.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Reviewed-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 19 Oct 2020 16:58:42 +0000 (09:58 -0700)]
Git 2.29
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Sun, 18 Oct 2020 20:16:08 +0000 (13:16 -0700)]
Merge tag 'l10n-2.29.0-rnd2' of git://github.com/git-l10n/git-po
l10n for Git 2.29.0 round 2
* tag 'l10n-2.29.0-rnd2' of git://github.com/git-l10n/git-po:
l10n: zh_CN: for git v2.29.0 l10n round 1 and 2
l10n: de.po: Update German translation for Git 2.29.0
l10n: vi(5013t): Updated translation for v2.29.0 rd2
l10n: pt_PT: make on po/pt_PT.po
l10n: Portuguese translation team has changed. Wohoo!
l10n: bg.po: Updated Bulgarian translation (5013t)
l10n: sv.po: Update Swedish translation (5013t0f0u)
l10n: it.po: update the Italian translation
l10n: tr: v2.29.0 round 2
l10n: zh_TW.po: v2.29.0 round 2 (2 untranslated)
l10n: fr: v2.29.0 rnd 2
l10n: git.pot: v2.29.0 round 2 (1 new, 1 removed)
l10n: fr: v2.29.0 rnd 1
l10n: it.po: update the Italian translation for Git 2.29.0 round 1
l10n: tr: v2.29.0 round 1
l10n: Update Catalan translation
l10n: git.pot: v2.29.0 round 1 (124 new, 42 removed)
Jiang Xin [Sun, 18 Oct 2020 01:56:33 +0000 (09:56 +0800)]
Merge branch 'master' of github.com:Softcatala/git-po
* 'master' of github.com:Softcatala/git-po:
l10n: Update Catalan translation
Jiang Xin [Thu, 24 Sep 2020 00:51:52 +0000 (08:51 +0800)]
l10n: zh_CN: for git v2.29.0 l10n round 1 and 2
Translate 124 new messages (5013t0f0u) for git 2.29.0.
Reviewed-by: 依云 <lilydjwg@gmail.com>
Reviewed-by: Fangyi Zhou <me@fangyi.io>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Junio C Hamano [Sat, 17 Oct 2020 20:10:58 +0000 (13:10 -0700)]
Merge https://github.com/prati0100/git-gui
* https://github.com/prati0100/git-gui:
git-gui: blame: prevent tool tips from sticking around after Command-Tab
git-gui: improve dark mode support
git-gui: fix mixed tabs and spaces; prefer tabs
Pratyush Yadav [Sat, 17 Oct 2020 09:35:27 +0000 (15:05 +0530)]
Merge branch 'sh/blame-tooltip'
Make sure `git gui blame` tooltips are destroyed once the window loses
focus on MacOS.
* sh/blame-tooltip:
git-gui: blame: prevent tool tips from sticking around after Command-Tab
Stefan Haller [Tue, 13 Oct 2020 13:26:43 +0000 (15:26 +0200)]
git-gui: blame: prevent tool tips from sticking around after Command-Tab
On Mac, tooltips are not automatically removed when a window loses
focus. Furthermore, mouse-move events are only dispatched to the active
window, which means that if we Command-tab to another application while
a tool tip is showing, the tool tip will stay there forever (in front of
other applications). So we must hide it manually when we lose focus.
Do this unconditionally here (i.e. without if {[is_MacOSX]}); it
shouldn't hurt on other platforms, even though they don't seem to have
this problem.
Signed-off-by: Stefan Haller <stefan@haller-berlin.de>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
Junio C Hamano [Thu, 15 Oct 2020 18:58:37 +0000 (11:58 -0700)]
Git 2.29-rc2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Matthias Rüster [Mon, 12 Oct 2020 15:10:49 +0000 (17:10 +0200)]
l10n: de.po: Update German translation for Git 2.29.0
Reviewed-by: Ralf Thielow <ralf.thielow@gmail.com>
Reviewed-by: Phillip Szelat <phillip.szelat@gmail.com>
Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com>
Jiang Xin [Wed, 14 Oct 2020 01:35:03 +0000 (09:35 +0800)]
Merge branch 'pt-PT' of github.com:git-l10n-pt-PT/git-po
* 'pt-PT' of github.com:git-l10n-pt-PT/git-po:
l10n: pt_PT: make on po/pt_PT.po
l10n: Portuguese translation team has changed. Wohoo!
Tran Ngoc Quan [Tue, 13 Oct 2020 01:38:20 +0000 (08:38 +0700)]
l10n: vi(5013t): Updated translation for v2.29.0 rd2
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
Daniel Santos [Mon, 12 Oct 2020 08:47:24 +0000 (09:47 +0100)]
l10n: pt_PT: make on po/pt_PT.po
Pull from the language Coordenator repository and
`make` done at the top-level directory.
Signed-off-by: Daniel Santos <hello@brighterdan.com>
Daniel Santos [Mon, 12 Oct 2020 08:32:37 +0000 (09:32 +0100)]
l10n: Portuguese translation team has changed. Wohoo!
I am excited. Because I like a lot languages, and because I believe this
is the way to contribute to a large number of Portuguese speaking
person.
Jiang Xin and last Portuguese team gave me the lead. Thank you very
much. Honored to be a part of such a project.
Signed-off-by: Daniel Santos <hello@brighterdan.com>
Jiang Xin [Mon, 12 Oct 2020 07:19:19 +0000 (15:19 +0800)]
Merge branch 'master' of github.com:alshopov/git-po
* 'master' of github.com:alshopov/git-po:
l10n: bg.po: Updated Bulgarian translation (5013t)
Jiang Xin [Mon, 12 Oct 2020 07:18:03 +0000 (15:18 +0800)]
Merge branch 'master' of github.com:nafmo/git-l10n-sv
* 'master' of github.com:nafmo/git-l10n-sv:
l10n: sv.po: Update Swedish translation (5013t0f0u)
Jiang Xin [Mon, 12 Oct 2020 07:11:30 +0000 (15:11 +0800)]
Merge branch 'update-italian-translation' of github.com:AlessandroMenti/git-po
* 'update-italian-translation' of github.com:AlessandroMenti/git-po:
l10n: it.po: update the Italian translation
Alexander Shopov [Sun, 11 Oct 2020 12:46:54 +0000 (14:46 +0200)]
l10n: bg.po: Updated Bulgarian translation (5013t)
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Peter Krefting [Sun, 11 Oct 2020 10:54:47 +0000 (11:54 +0100)]
l10n: sv.po: Update Swedish translation (5013t0f0u)
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
Jiang Xin [Sun, 11 Oct 2020 08:12:01 +0000 (16:12 +0800)]
Merge branch 'l10n/zh_TW/201010' of github.com:l10n-tw/git-po
* 'l10n/zh_TW/201010' of github.com:l10n-tw/git-po:
l10n: zh_TW.po: v2.29.0 round 2 (2 untranslated)
Alessandro Menti [Sat, 10 Oct 2020 07:31:36 +0000 (09:31 +0200)]
l10n: it.po: update the Italian translation
Update the Italian translation for Git 2.29.0, round 2.
Signed-off-by: Alessandro Menti <alessandro.menti@alessandromenti.it>
Jiang Xin [Sun, 11 Oct 2020 01:46:46 +0000 (09:46 +0800)]
Merge branch '2.29-r2' of github.com:bitigchi/git-po
* '2.29-r2' of github.com:bitigchi/git-po:
l10n: tr: v2.29.0 round 2
Emir Sarı [Sat, 10 Oct 2020 11:41:15 +0000 (14:41 +0300)]
l10n: tr: v2.29.0 round 2
Signed-off-by: Emir Sarı <bitigchi@me.com>
pan93412 [Sat, 10 Oct 2020 11:34:56 +0000 (19:34 +0800)]
l10n: zh_TW.po: v2.29.0 round 2 (2 untranslated)
Signed-off-by: pan93412 <pan93412@gmail.com>
Jean-Noël Avila [Sat, 10 Oct 2020 11:11:18 +0000 (13:11 +0200)]
l10n: fr: v2.29.0 rnd 2
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Jiang Xin [Sat, 10 Oct 2020 01:33:19 +0000 (09:33 +0800)]
l10n: git.pot: v2.29.0 round 2 (1 new, 1 removed)
Generate po/git.pot from v2.29.0-rc1 for git v2.29.0 l10n round 2.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Jiang Xin [Sat, 10 Oct 2020 01:22:36 +0000 (09:22 +0800)]
Merge tag 'v2.29.0-rc1' of github.com:git/git
Git 2.29-rc1
* tag 'v2.29.0-rc1' of github.com:git/git:
Git 2.29-rc1
doc: fix the bnf like style of some commands
doc: git-remote fix ups
doc: use linkgit macro where needed.
git-bisect-lk2009: make continuation of list indented
ci: do not skip tagged revisions in GitHub workflows
ci: skip GitHub workflow runs for already-tested commits/trees
tests: avoid using the branch name `main`
t1415: avoid using `main` as ref name
Makefile: ASCII-sort += lists
help: do not expect built-in commands to be hardlinked
index-pack: make get_base_data() comment clearer
index-pack: drop type_cas mutex
index-pack: restore "resolving deltas" progress meter
compat/mingw.h: drop extern from function declaration
GitHub workflow: automatically follow minor updates of setup-msbuild
t5534: split stdout and stderr redirection
Junio C Hamano [Fri, 9 Oct 2020 04:53:09 +0000 (21:53 -0700)]
Git 2.29-rc1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Fri, 9 Oct 2020 04:53:26 +0000 (21:53 -0700)]
Merge branch 'js/default-branch-name-part-3'
Test preparation for the switch of default branch name continues.
* js/default-branch-name-part-3:
tests: avoid using the branch name `main`
t1415: avoid using `main` as ref name
Junio C Hamano [Fri, 9 Oct 2020 04:53:26 +0000 (21:53 -0700)]
Merge branch 'js/ci-ghwf-dedup-tests'
The logic to skip testing on the tagged commit and the tag itself
was not quite consistent which led to failure of Windows test
tasks. It has been revamped to consistently skip revisions that
have already been tested, based on the tree object of the revision.
* js/ci-ghwf-dedup-tests:
ci: do not skip tagged revisions in GitHub workflows
ci: skip GitHub workflow runs for already-tested commits/trees
Junio C Hamano [Fri, 9 Oct 2020 04:53:26 +0000 (21:53 -0700)]
Merge branch 'ja/misc-doc-fixes'
Doc fixes.
* ja/misc-doc-fixes:
doc: fix the bnf like style of some commands
doc: git-remote fix ups
doc: use linkgit macro where needed.
git-bisect-lk2009: make continuation of list indented
Junio C Hamano [Fri, 9 Oct 2020 04:53:26 +0000 (21:53 -0700)]
Merge branch 'dl/makefile-sort'
Makefile clean-up.
* dl/makefile-sort:
Makefile: ASCII-sort += lists
Junio C Hamano [Fri, 9 Oct 2020 04:53:26 +0000 (21:53 -0700)]
Merge branch 'js/no-builtins-on-disk-option'
Hotfix to breakage introduced in the topic in v2.29-rc0
* js/no-builtins-on-disk-option:
help: do not expect built-in commands to be hardlinked
Junio C Hamano [Fri, 9 Oct 2020 04:53:26 +0000 (21:53 -0700)]
Merge branch 'js/ghwf-setup-msbuild-update'
CI update.
* js/ghwf-setup-msbuild-update:
GitHub workflow: automatically follow minor updates of setup-msbuild
Junio C Hamano [Fri, 9 Oct 2020 04:53:25 +0000 (21:53 -0700)]
Merge branch 'jk/index-pack-hotfixes'
Hotfix and clean-up for the jt/threaded-index-pack topic that has
graduated to v2.29-rc0.
* jk/index-pack-hotfixes:
index-pack: make get_base_data() comment clearer
index-pack: drop type_cas mutex
index-pack: restore "resolving deltas" progress meter
Junio C Hamano [Fri, 9 Oct 2020 04:53:25 +0000 (21:53 -0700)]
Merge branch 'dl/mingw-header-cleanup'
Header clean-up.
* dl/mingw-header-cleanup:
compat/mingw.h: drop extern from function declaration
Junio C Hamano [Fri, 9 Oct 2020 04:53:25 +0000 (21:53 -0700)]
Merge branch 'hx/push-atomic-with-cert'
Hotfix to a recently added test script.
* hx/push-atomic-with-cert:
t5534: split stdout and stderr redirection
Jean-Noël Avila [Thu, 8 Oct 2020 20:23:57 +0000 (22:23 +0200)]
doc: fix the bnf like style of some commands
In command line options, variables are entered between < and >
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jean-Noël Avila [Thu, 8 Oct 2020 20:23:56 +0000 (22:23 +0200)]
doc: git-remote fix ups
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jean-Noël Avila [Thu, 8 Oct 2020 20:23:55 +0000 (22:23 +0200)]
doc: use linkgit macro where needed.
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jean-Noël Avila [Thu, 8 Oct 2020 20:23:54 +0000 (22:23 +0200)]
git-bisect-lk2009: make continuation of list indented
That's clearer asciidoc formatting.
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Thu, 8 Oct 2020 15:29:35 +0000 (15:29 +0000)]
ci: do not skip tagged revisions in GitHub workflows
When `master` is tagged, and then both `master` and the tag are pushed,
Travis CI will happily build both. That is a waste of energy, which is
why we skip the build for `master` in that case.
Our GitHub workflow is also triggered by tags. However, the run would
fail because the `windows-test` jobs are _not_ skipped on tags, but the
`windows-build` job _is skipped (and therefore fails to upload the
build artifacts needed by the test jobs).
In addition, we just added logic to our GitHub workflow that will skip
runs altogether if there is already a successful run for the same commit
or at least for the same tree.
Let's just change the GitHub workflow to no longer specifically skip
tagged revisions.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Thu, 8 Oct 2020 15:29:34 +0000 (15:29 +0000)]
ci: skip GitHub workflow runs for already-tested commits/trees
When pushing a commit that has already passed a CI or PR build
successfully, it makes sense to save some energy and time and skip the
new build.
Let's teach our GitHub workflow to do that.
For good measure, we also compare the tree ID, which is what we actually
test (the commit ID might have changed due to a reworded commit message,
which should not affect the outcome of the run).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Thu, 8 Oct 2020 10:13:47 +0000 (10:13 +0000)]
tests: avoid using the branch name `main`
In the near future, we want to change Git's default branch name to
`main`. In preparation for that, stop using it as a branch name in the
test suite. Replace that branch name by `topic`, the same name we used
to rename variations of `master` in
b6211b89eb3 (tests: avoid variations
of the `master` branch name, 2020-09-26).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Thu, 8 Oct 2020 10:13:46 +0000 (10:13 +0000)]
t1415: avoid using `main` as ref name
In preparation for a patch series that will change the fall-back for
`init.defaultBranch` to `main`, let's not use `main` as ref name in this
test script.
Otherwise, the `git for-each-ref ... | grep main` which wants to catch
those refs would also unexpectedly catch `refs/heads/main`.
Since the refs in question are worktree-local ones (i.e. each worktree
has their own, just like `HEAD`), and since the test case already uses a
secondary worktree called "second", let's use the name "first" for those
refs instead.
While at it, adjust the test titles that talk about a "repo" when they
meant a "worktree" instead.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Denton Liu [Thu, 8 Oct 2020 07:39:26 +0000 (00:39 -0700)]
Makefile: ASCII-sort += lists
In
805d9eaf5e (Makefile: ASCII-sort += lists, 2020-03-21), the += lists
in the Makefile were sorted into ASCII order. Since then, more out of
order elements have been introduced. Sort these lists back into ASCII
order.
This patch is best viewed with `--color-moved`.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Pratyush Yadav [Thu, 8 Oct 2020 13:04:54 +0000 (18:34 +0530)]
Merge branch 'st/dark-mode' into master
Improve dark mode support. Do not hard-code widget colors and instead
pull them from the current theme and update them in the options
database.
* st/dark-mode:
git-gui: improve dark mode support
Jiang Xin [Thu, 8 Oct 2020 12:27:51 +0000 (20:27 +0800)]
Merge branch 'fr_2.29.0_rnd_1' of github.com:jnavila/git
* 'fr_2.29.0_rnd_1' of github.com:jnavila/git:
l10n: fr: v2.29.0 rnd 1
Johannes Schindelin [Wed, 7 Oct 2020 21:56:51 +0000 (21:56 +0000)]
help: do not expect built-in commands to be hardlinked
When building with SKIP_DASHED_BUILT_INS=YesPlease, the built-in
commands are no longer present in the `PATH` as hardlinks to `git`.
As a consequence, `load_command_list()` needs to be taught to find the
names of the built-in commands from elsewhere.
This only affected the output of `git --list-cmds=main`, but not the
output of `git help -a` because the latter includes the built-in
commands by virtue of them being listed in command-list.txt.
The bug was detected via a patch series that turns the merge strategies
included in Git into built-in commands: `git merge -s help` relies on
`load_command_list()` to determine the list of available merge
strategies.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jonathan Tan [Wed, 7 Oct 2020 20:16:58 +0000 (13:16 -0700)]
index-pack: make get_base_data() comment clearer
A comment mentions that we may free cached delta bases via
find_unresolved_deltas(), but that function went away in
f08cbf60fe
(index-pack: make quantum of work smaller, 2020-09-08). Since we need to
rewrite that comment anyway, make the entire comment clearer.
Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jean-Noël Avila [Wed, 7 Oct 2020 19:55:55 +0000 (21:55 +0200)]
l10n: fr: v2.29.0 rnd 1
Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
Alessandro Menti [Wed, 7 Oct 2020 19:43:55 +0000 (21:43 +0200)]
l10n: it.po: update the Italian translation for Git 2.29.0 round 1
Signed-off-by: Alessandro Menti <alessandro.menti@alessandromenti.it>
Jeff King [Wed, 7 Oct 2020 18:19:43 +0000 (14:19 -0400)]
index-pack: drop type_cas mutex
The type_cas lock lost all of its callers in
f08cbf60fe (index-pack:
make quantum of work smaller, 2020-09-08), so we can safely delete it.
The compiler didn't alert us that the variable became unused, because we
still call pthread_mutex_init() and pthread_mutex_destroy() on it.
It's worth considering also whether that commit was in error to remove
the use of the lock. Why don't we need it now, if we did before, as
described in
ab791dd138 (index-pack: fix race condition with duplicate
bases, 2014-08-29)? I think the answer is that we now look at and assign
the child_obj->real_type field in the main thread while holding the
work_lock(). So we don't have to worry about racing with the worker
threads.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King [Wed, 7 Oct 2020 18:19:23 +0000 (14:19 -0400)]
index-pack: restore "resolving deltas" progress meter
Commit
f08cbf60fe (index-pack: make quantum of work smaller, 2020-09-08)
refactored the main loop in threaded_second_pass(), but also deleted the
call to display_progress() at the top of the loop. This means that users
typically see no progress at all during the delta resolution phase (and
for large repositories, Git appears to hang).
This looks like an accident that was unrelated to the intended change of
that commit, since we continue to update nr_resolved_deltas in
resolve_delta(). Let's restore the call to get that progress back.
We'll also add a test that confirms we generate the expected progress.
This isn't perfect, as it wouldn't catch a bug where progress was
delayed to the end. That was probably possible to trigger when receiving
a thin pack, because we'd eventually call display_progress() from
fix_unresolved_deltas(), but only once after doing all the work.
However, since our test case generates a complete pack, it reliably
demonstrates this particular bug and its fix. And we can't do better
without making the test racy.
Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Denton Liu [Wed, 7 Oct 2020 08:31:59 +0000 (01:31 -0700)]
compat/mingw.h: drop extern from function declaration
In
554544276a (*.[ch]: remove extern from function declarations using
spatch, 2019-04-29), `extern` on function declarations were declared to
be redundant and thus removed from the codebase. An `extern` was
accidentally reintroduced in
08809c09aa (mingw: add a helper function to
attach GDB to the current process, 2020-02-13).
Remove this spurious `extern`.
Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Johannes Schindelin [Wed, 7 Oct 2020 08:17:49 +0000 (08:17 +0000)]
GitHub workflow: automatically follow minor updates of setup-msbuild
It is the custom to follow minor updates of GitHub Actions
automatically, by using the suffix `@v1`. Actions' maintainers will then
update that `v1` ref to point to the newest.
However, for `microsoft/setup-msbuild`,
889cacb6897 (ci: configure
GitHub Actions for CI/PR, 2020-04-11) uses a very specific `@v1.0.0`
suffix.
In this instance, that is a problem: should `setup-msbuild` release a
new version that intends to fix a critical bug, we won't know it, and we
won't use it.
Such a scenario is not theoretical. It is happening right now:
https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands
Let's simplify our setup, allowing us to benefit from automatically
using the newest v1.x.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Serg Tereshchenko [Sat, 26 Sep 2020 14:54:43 +0000 (17:54 +0300)]
git-gui: improve dark mode support
The colors of some ttext widgets are hard-coded. These hard-coded colors
are okay with a light theme but with a dark theme some widgets are dark
colored and the hard-coded ones are still light. This defeats the
purpose of applying the theme and makes the UI look very awkward.
Remove the hard-coded colors in ttext calls and use colors from the
theme for those widgets via Text.Background and Text.Foreground from the
option database.
Similarly, the highlighting for the currently selected file(s) in the
"Staged Files" and "Unstaged Files" sections is also hard-coded. Pull
the colors for that from the current theme to make sure it is in line
Signed-off-by: Serg Tereshchenko <serg.partizan@gmail.com>
Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
Đoàn Trần Công Danh [Tue, 6 Oct 2020 15:08:18 +0000 (22:08 +0700)]
t5534: split stdout and stderr redirection
On atomic pushing failure with GnuPG, we expect a very specific output
in stdout due to `--porcelain` switch.
On such failure, we also write down some helpful hint into stderr
in order to help user understand what happens and how to continue from
those failures.
On a lot of system, those hint (in stderr) will be flushed first,
then those messages in stdout will be flushed. In such systems, the
current test code is fine as is.
However, we don't have such guarantee, (at least) there're some real
systems that writes those stream interleaved. On such systems, we may
see the stderr stream written in the middle of stdout stream.
Let's split those stream redirection. By splitting those stream,
the output stream will contain exactly what we want to compare,
thus, saving us a "sed" invocation.
While we're at it, change the `test_i18ncmp` to `test_cmp` because we
will never translate those messages (because of `--porcelain`).
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Emir Sarı [Tue, 6 Oct 2020 13:44:21 +0000 (16:44 +0300)]
l10n: tr: v2.29.0 round 1
Signed-off-by: Emir Sarı <bitigchi@me.com>
Jordi Mas [Tue, 6 Oct 2020 09:36:15 +0000 (11:36 +0200)]
l10n: Update Catalan translation
Signed-off-by: Jordi Mas <jmas@softcatala.org>
Jiang Xin [Tue, 6 Oct 2020 01:16:18 +0000 (09:16 +0800)]
l10n: git.pot: v2.29.0 round 1 (124 new, 42 removed)
Generate po/git.pot from v2.29.0-rc0 for git v2.29.0 l10n round 1.
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
Junio C Hamano [Mon, 5 Oct 2020 21:00:04 +0000 (14:00 -0700)]
Git 2.29-rc0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano [Mon, 5 Oct 2020 21:01:56 +0000 (14:01 -0700)]
Merge branch 'nl/credential-crlf'
Loosen the parser in the receiving end of the credential protocol
to allow credential helper to terminate lines with CRLF line
ending, as well as LF line ending.
* nl/credential-crlf:
credential: treat CR/LF as line endings in the credential protocol
Junio C Hamano [Mon, 5 Oct 2020 21:01:56 +0000 (14:01 -0700)]
Merge branch 'sn/fast-import-doc'
Doc update.
* sn/fast-import-doc:
fast-import: fix typo in documentation