]> git.ipfire.org Git - thirdparty/git.git/log
thirdparty/git.git
23 months agovscode: improve tab size and wrapping
Derrick Stolee [Mon, 27 Jun 2022 18:29:47 +0000 (18:29 +0000)] 
vscode: improve tab size and wrapping

The contrib/vscode/init.sh script initializes the .vscode directory with
some helpful metadata so VS Code handles Git code better.

One big issue that VS Code has is detecting the tab width based on file
type. ".txt" files were not covered by this script before, so add them
with the appropriate tab widths. This prevents inserting spaces instead
of tabs and keeps the tab width to eight instead of four or two.

While we are here, remove the "editor.wordWrap" settings. The editor's
word wrap is only cosmetic: it does not actually insert newlines when
your typing goes over the column limit. This can make it appear like you
have properly wrapped code, but it is incorrect. Further, existing code
that is over the column limit is wrapped even if your editor window is
wider than the limit. This can make reading such code more difficult.
Without these lines, VS Code renders the lines accurately, without
"ghost" newlines.

Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
23 months agoGit 2.37 v2.37.0
Junio C Hamano [Mon, 27 Jun 2022 16:17:55 +0000 (09:17 -0700)] 
Git 2.37

Signed-off-by: Junio C Hamano <gitster@pobox.com>
23 months agoMerge branch 'jc/revert-show-parent-info'
Junio C Hamano [Mon, 27 Jun 2022 16:13:41 +0000 (09:13 -0700)] 
Merge branch 'jc/revert-show-parent-info'

* jc/revert-show-parent-info:
  revert: config documentation fixes

23 months agoMerge tag 'l10n-2.37.0-rnd1' of https://github.com/git-l10n/git-po
Junio C Hamano [Mon, 27 Jun 2022 15:39:10 +0000 (08:39 -0700)] 
Merge tag 'l10n-2.37.0-rnd1' of https://github.com/git-l10n/git-po

l10n-2.37.0-rnd1

* tag 'l10n-2.37.0-rnd1' of https://github.com/git-l10n/git-po:
  l10n: sv.po: Update Swedish translation (5367t0f0u)
  l10n: ru.po: update Russian translation
  l10n: zh_TW: v2.37.0 round 1
  l10n: vi(5367t): Updated translation
  l10n: fr v2.37 round 1
  l10n: Update Catalan translation
  l10n: po-id for 2.37 (first batch)
  l10n: tr: v2.37.0 round #1
  l10n: README: fix typo
  l10n: TEAMS: Change German translation team leader
  l10n: de.po: Update German translation
  l10n: bg.po: Updated Bulgarian translation (5367t)
  l10n: zh_CN: v2.37.0 round 1
  l10n: es: update translation

23 months agorevert: config documentation fixes
René Scharfe [Sun, 26 Jun 2022 09:29:35 +0000 (11:29 +0200)] 
revert: config documentation fixes

43966ab315 (revert: optionally refer to commit in the "reference"
format, 2022-05-26) added the documentation file config/revert.txt.
Actually include it in config.txt.

Make is used with a bare infinitive after the object; remove the "to".

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
23 months agol10n: sv.po: Update Swedish translation (5367t0f0u)
Peter Krefting [Fri, 24 Jun 2022 20:23:54 +0000 (21:23 +0100)] 
l10n: sv.po: Update Swedish translation (5367t0f0u)

Run msgmerge with --no-location to drop file locations to decrease the
size of future patches. Also removed old translations.

Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
23 months agol10n: ru.po: update Russian translation
Dimitriy Ryazantcev [Mon, 20 Jun 2022 13:02:39 +0000 (16:02 +0300)] 
l10n: ru.po: update Russian translation

Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
23 months agoMerge branch 'l10n/zh_TW/220623' of github.com:l10n-tw/git-po
Jiang Xin [Sun, 26 Jun 2022 05:54:26 +0000 (13:54 +0800)] 
Merge branch 'l10n/zh_TW/220623' of github.com:l10n-tw/git-po

* 'l10n/zh_TW/220623' of github.com:l10n-tw/git-po:
  l10n: zh_TW: v2.37.0 round 1

23 months agol10n: zh_TW: v2.37.0 round 1
Yi-Jyun Pan [Thu, 23 Jun 2022 13:08:28 +0000 (21:08 +0800)] 
l10n: zh_TW: v2.37.0 round 1

Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com>
23 months agoMerge branch 'master' of github.com:vnwildman/git
Jiang Xin [Sat, 25 Jun 2022 03:01:20 +0000 (11:01 +0800)] 
Merge branch 'master' of github.com:vnwildman/git

* 'master' of github.com:vnwildman/git:
  l10n: vi(5367t): Updated translation

23 months agol10n: vi(5367t): Updated translation
Tran Ngoc Quan [Sat, 25 Jun 2022 01:40:42 +0000 (08:40 +0700)] 
l10n: vi(5367t): Updated translation

Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2 years agol10n: fr v2.37 round 1
Jean-Noël Avila [Fri, 24 Jun 2022 09:04:25 +0000 (11:04 +0200)] 
l10n: fr v2.37 round 1

Signed-off-by: Jean-Noël Avila <jn.avila@free.fr>
2 years agol10n: Update Catalan translation
Jordi Mas [Fri, 24 Jun 2022 11:30:45 +0000 (13:30 +0200)] 
l10n: Update Catalan translation

Signed-off-by: Jordi Mas <jmas@softcatala.org>
2 years agoMerge branch 'ab/credentials-in-url-more'
Junio C Hamano [Thu, 23 Jun 2022 20:22:35 +0000 (13:22 -0700)] 
Merge branch 'ab/credentials-in-url-more'

* ab/credentials-in-url-more:
  Documentation/config/transfer.txt: fix typo

2 years agoDocumentation/config/transfer.txt: fix typo
Taylor Blau [Thu, 23 Jun 2022 19:02:01 +0000 (15:02 -0400)] 
Documentation/config/transfer.txt: fix typo

Commit 7281c196b1 (transfer doc: move fetch.credentialsInUrl to
"transfer" config namespace, 2022-06-15) propagates a typo from
6dcbdc0d66 (remote: create fetch.credentialsInUrl config, 2022-06-06),
where "other" is misspelled as "oher". Fix the typo accordingly.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoMerge branch 'po-id' of github.com:bagasme/git-po
Jiang Xin [Thu, 23 Jun 2022 13:01:47 +0000 (21:01 +0800)] 
Merge branch 'po-id' of github.com:bagasme/git-po

* 'po-id' of github.com:bagasme/git-po:
  l10n: po-id for 2.37 (first batch)

2 years agol10n: po-id for 2.37 (first batch)
Bagas Sanjaya [Wed, 15 Jun 2022 07:33:28 +0000 (14:33 +0700)] 
l10n: po-id for 2.37 (first batch)

Update following components:

  - apply.c
  - builtin/bisect--helper.c
  - builtin/fetch.c
  - builtin/fsck.c
  - builtin/log.c
  - builtin/notes.c
  - builtin/push.c
  - builtin/submodule--helper.c
  - builtin/worktree.c
  - index-pack.c
  - init-db.c
  - remote.c

Translate following new components:

  - attr.c
  - builtin/name-rev.c
  - builtin/pack-objects.c
  - builtin/pack-refs.c
  - builtin/prune.c
  - builtin/update-server-info.c
  - object-file.c
  - object-name.c
  - object.c
  - pack-bitmap.c
  - pack-mtimes.c
  - pack-revindex.c
  - pack-write.c
  - packfile.c

Besides above, fix minor grammatical issues.

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
2 years agol10n: tr: v2.37.0 round #1
Emir SARI [Wed, 15 Jun 2022 14:48:40 +0000 (17:48 +0300)] 
l10n: tr: v2.37.0 round #1

Signed-off-by: Emir SARI <emir_sari@icloud.com>
2 years agoMerge branch 'master' of github.com:ruester/git-po-de
Jiang Xin [Thu, 23 Jun 2022 02:45:03 +0000 (10:45 +0800)] 
Merge branch 'master' of github.com:ruester/git-po-de

* 'master' of github.com:ruester/git-po-de:
  l10n: TEAMS: Change German translation team leader
  l10n: de.po: Update German translation

2 years agoMerge branch 'master' of github.com:alshopov/git-po
Jiang Xin [Thu, 23 Jun 2022 02:44:43 +0000 (10:44 +0800)] 
Merge branch 'master' of github.com:alshopov/git-po

* 'master' of github.com:alshopov/git-po:
  l10n: bg.po: Updated Bulgarian translation (5367t)

2 years agoMerge branch 'fz/po-zh_CN' of github.com:fangyi-zhou/git-po
Jiang Xin [Thu, 23 Jun 2022 02:44:30 +0000 (10:44 +0800)] 
Merge branch 'fz/po-zh_CN' of github.com:fangyi-zhou/git-po

* 'fz/po-zh_CN' of github.com:fangyi-zhou/git-po:
  l10n: zh_CN: v2.37.0 round 1

2 years agol10n: README: fix typo
Arthur Milchior [Wed, 22 Jun 2022 19:50:44 +0000 (19:50 +0000)] 
l10n: README: fix typo

This 10-year old typo was introduced at 75b182ae (Update l10n guide:
change the repository URL, etc, 2012-03-02). The word "l10" should be
"l10n".

Signed-off-by: Arthur Milchior <arthur@milchior.fr>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2 years agol10n: TEAMS: Change German translation team leader
Matthias Rüster [Tue, 21 Jun 2022 18:24:14 +0000 (20:24 +0200)] 
l10n: TEAMS: Change German translation team leader

Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com>
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2 years agol10n: de.po: Update German translation
Matthias Rüster [Sun, 19 Jun 2022 18:55:59 +0000 (20:55 +0200)] 
l10n: de.po: Update German translation

Reviewed-by: Ralf Thielow <ralf.thielow@gmail.com>
Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com>
2 years agoGit 2.37-rc2 v2.37.0-rc2
Junio C Hamano [Wed, 22 Jun 2022 16:07:56 +0000 (09:07 -0700)] 
Git 2.37-rc2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoMerge branch 'tb/cruft-packs'
Junio C Hamano [Wed, 22 Jun 2022 16:06:37 +0000 (09:06 -0700)] 
Merge branch 'tb/cruft-packs'

Docfix.

* tb/cruft-packs:
  gc: simplify --cruft description

2 years agol10n: bg.po: Updated Bulgarian translation (5367t)
Alexander Shopov [Sun, 12 Jun 2022 08:56:04 +0000 (10:56 +0200)] 
l10n: bg.po: Updated Bulgarian translation (5367t)

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2 years agol10n: zh_CN: v2.37.0 round 1
Fangyi Zhou [Wed, 22 Jun 2022 09:28:36 +0000 (10:28 +0100)] 
l10n: zh_CN: v2.37.0 round 1

Reviewed-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Fangyi Zhou <me@fangyi.io>
2 years agoMerge branch 'master' of github.com:git/git
Jiang Xin [Wed, 22 Jun 2022 07:46:22 +0000 (15:46 +0800)] 
Merge branch 'master' of github.com:git/git

* 'master' of github.com:git/git:
  name-rev: prefix annotate-stdin with '--' in message
  git-prompt: fix expansion of branch colour codes
  git-prompt: make colourization consistent

2 years agoMerge branch 'jp/prompt-clear-before-upstream-mark'
Junio C Hamano [Tue, 21 Jun 2022 17:07:50 +0000 (10:07 -0700)] 
Merge branch 'jp/prompt-clear-before-upstream-mark'

Bash command line prompt (in contrib/) update.

* jp/prompt-clear-before-upstream-mark:
  git-prompt: fix expansion of branch colour codes
  git-prompt: make colourization consistent

2 years agogc: simplify --cruft description
René Scharfe [Sun, 19 Jun 2022 05:38:50 +0000 (07:38 +0200)] 
gc: simplify --cruft description

Remove duplicate "loose objects".

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoname-rev: prefix annotate-stdin with '--' in message
Alexander Shopov [Mon, 20 Jun 2022 16:44:34 +0000 (18:44 +0200)] 
name-rev: prefix annotate-stdin with '--' in message

This is an option rather than command.  Make the message convey this
similar to the other messages in the file.

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoMerge branch 'master' of github.com:git/git
Jiang Xin [Sat, 18 Jun 2022 06:02:07 +0000 (14:02 +0800)] 
Merge branch 'master' of github.com:git/git

* 'master' of github.com:git/git: (22 commits)
  Git 2.37-rc1
  git-compat-util: allow root to access both SUDO_UID and root owned
  i18n: fix mismatched camelCase config variables
  Another batch of fixes before -rc1
  bug_fl(): correctly initialize trace2 va_list
  relative_url(): fix incorrect condition
  pack-mtimes: avoid closing a bogus file descriptor
  read_index_from(): avoid memory leak
  submodule--helper: avoid memory leak when fetching submodules
  submodule-config: avoid memory leak
  fsmonitor: avoid memory leak in `fsm_settings__get_incompatible_msg()`
  cache-tree: remove cache_tree_find_path()
  pack-write: drop always-NULL parameter
  t5329: test 'git gc --cruft' without '--prune=now'
  t2107: test 'git update-index --verbose'
  perf-lib: fix missing test titles in output
  transfer doc: move fetch.credentialsInUrl to "transfer" config namespace
  fetch doc: note "pushurl" caveat about "credentialsInUrl", elaborate
  ci(github): also mark up compile errors
  ci(github): use grouping also in the `win-build` job
  ...

2 years agoGit 2.37-rc1 v2.37.0-rc1
Junio C Hamano [Sat, 18 Jun 2022 00:15:13 +0000 (17:15 -0700)] 
Git 2.37-rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoMerge branch 'cb/path-owner-check-with-sudo-plus'
Junio C Hamano [Sat, 18 Jun 2022 00:12:31 +0000 (17:12 -0700)] 
Merge branch 'cb/path-owner-check-with-sudo-plus'

"sudo git foo" used to consider a repository owned by the original
user a safe one to access; it now also considers a repository owned
by root a safe one, too (after all, if an attacker can craft a
malicious repository owned by root, the box is 0wned already).

* cb/path-owner-check-with-sudo-plus:
  git-compat-util: allow root to access both SUDO_UID and root owned

2 years agogit-compat-util: allow root to access both SUDO_UID and root owned
Carlo Marcelo Arenas Belón [Fri, 17 Jun 2022 20:23:38 +0000 (13:23 -0700)] 
git-compat-util: allow root to access both SUDO_UID and root owned

Previous changes introduced a regression which will prevent root for
accessing repositories owned by thyself if using sudo because SUDO_UID
takes precedence.

Loosen that restriction by allowing root to access repositories owned
by both uid by default and without having to add a safe.directory
exception.

A previous workaround that was documented in the tests is no longer
needed so it has been removed together with its specially crafted
prerequisite.

Helped-by: Johanness Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoi18n: fix mismatched camelCase config variables
Jiang Xin [Fri, 17 Jun 2022 10:03:09 +0000 (18:03 +0800)] 
i18n: fix mismatched camelCase config variables

Some config variables are combinations of multiple words, and we
typically write them in camelCase forms in manpage and translatable
strings. It's not easy to find mismatches for these camelCase config
variables during code reviews, but occasionally they are identified
during localization translations.

To check for mismatched config variables, I introduced a new feature
in the helper program for localization[^1]. The following mismatched
config variables have been identified by running the helper program,
such as "git-po-helper check-pot".

Lowercase in manpage should use camelCase:

 * Documentation/config/http.txt: http.pinnedpubkey

Lowercase in translable strings should use camelCase:

 * builtin/fast-import.c:  pack.indexversion
 * builtin/gc.c:           gc.logexpiry
 * builtin/index-pack.c:   pack.indexversion
 * builtin/pack-objects.c: pack.indexversion
 * builtin/repack.c:       pack.writebitmaps
 * commit.c:               i18n.commitencoding
 * gpg-interface.c:        user.signingkey
 * http.c:                 http.postbuffer
 * submodule-config.c:     submodule.fetchjobs

Mismatched camelCases, choose the former:

 * Documentation/config/transfer.txt: transfer.credentialsInUrl
   remote.c:                          transfer.credentialsInURL

[^1]: https://github.com/git-l10n/git-po-helper

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoAnother batch of fixes before -rc1
Junio C Hamano [Fri, 17 Jun 2022 17:33:42 +0000 (10:33 -0700)] 
Another batch of fixes before -rc1

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoMerge branch 'jk/bug-fl-va-list-fix'
Junio C Hamano [Fri, 17 Jun 2022 17:33:32 +0000 (10:33 -0700)] 
Merge branch 'jk/bug-fl-va-list-fix'

Fix buggy va_list usage in recent code.

* jk/bug-fl-va-list-fix:
  bug_fl(): correctly initialize trace2 va_list

2 years agoMerge branch 'ab/credentials-in-url-more'
Junio C Hamano [Fri, 17 Jun 2022 17:33:32 +0000 (10:33 -0700)] 
Merge branch 'ab/credentials-in-url-more'

Rename fetch.credentialsInUrl to transfer.credentialsInUrl as the
single configuration variable should work both in pushing and
fetching.

* ab/credentials-in-url-more:
  transfer doc: move fetch.credentialsInUrl to "transfer" config namespace
  fetch doc: note "pushurl" caveat about "credentialsInUrl", elaborate

2 years agoMerge branch 'js/ci-github-workflow-markup'
Junio C Hamano [Fri, 17 Jun 2022 17:33:32 +0000 (10:33 -0700)] 
Merge branch 'js/ci-github-workflow-markup'

Recent CI update hides certain failures in test jobs, which has
been corrected.

* js/ci-github-workflow-markup:
  ci(github): also mark up compile errors
  ci(github): use grouping also in the `win-build` job
  ci(github): bring back the 'print test failures' step

2 years agoMerge branch 'js/misc-fixes'
Junio C Hamano [Fri, 17 Jun 2022 17:33:31 +0000 (10:33 -0700)] 
Merge branch 'js/misc-fixes'

Assorted fixes to problems found by Coverity.

* js/misc-fixes:
  relative_url(): fix incorrect condition
  pack-mtimes: avoid closing a bogus file descriptor
  read_index_from(): avoid memory leak
  submodule--helper: avoid memory leak when fetching submodules
  submodule-config: avoid memory leak
  fsmonitor: avoid memory leak in `fsm_settings__get_incompatible_msg()`

2 years agoMerge branch 'jc/cocci-cleanup'
Junio C Hamano [Fri, 17 Jun 2022 17:33:31 +0000 (10:33 -0700)] 
Merge branch 'jc/cocci-cleanup'

Remove a coccinelle rule that is no longer relevant.

* jc/cocci-cleanup:
  cocci: retire is_null_sha1() rule

2 years agoMerge branch 'ds/more-test-coverage'
Junio C Hamano [Fri, 17 Jun 2022 17:33:31 +0000 (10:33 -0700)] 
Merge branch 'ds/more-test-coverage'

Improve test coverage with a handful of tests.

* ds/more-test-coverage:
  cache-tree: remove cache_tree_find_path()
  pack-write: drop always-NULL parameter
  t5329: test 'git gc --cruft' without '--prune=now'
  t2107: test 'git update-index --verbose'

2 years agoMerge branch 'jk/perf-lib-test-titles'
Junio C Hamano [Fri, 17 Jun 2022 17:33:31 +0000 (10:33 -0700)] 
Merge branch 'jk/perf-lib-test-titles'

Show test titles to the performance test output again.

* jk/perf-lib-test-titles:
  perf-lib: fix missing test titles in output

2 years agoMerge branch 'master' of github.com:git/git
Jiang Xin [Fri, 17 Jun 2022 00:57:35 +0000 (08:57 +0800)] 
Merge branch 'master' of github.com:git/git

* 'master' of github.com:git/git:
  builtin/rebase: remove a redundant space in l10n string

2 years agobug_fl(): correctly initialize trace2 va_list
Jeff King [Thu, 16 Jun 2022 20:04:25 +0000 (16:04 -0400)] 
bug_fl(): correctly initialize trace2 va_list

The code added 0cc05b044f (usage.c: add a non-fatal bug() function to go
with BUG(), 2022-06-02) sets up two va_list variables: one to output to
stderr, and one to trace2. But the order of initialization is wrong:

  va_list ap, cp;
  va_copy(cp, ap);
  va_start(ap, fmt);

We copy the contents of "ap" into "cp" before it is initialized, meaning
it is full of garbage. The two should be swapped.

However, there's another bug, noticed by Johannes Schindelin: we forget
to call va_end() for the copy. So instead of just fixing the copy's
initialization, let's do two separate start/end pairs. This is allowed
by the standard, and we don't need to use copy here since we have access
to the original varargs. Matching the pairs with the calls makes it more
obvious that everything is being done correctly.

Note that we do call bug_fl() in the tests, but it didn't trigger this
problem because our format string doesn't have any placeholders. So even
though we were passing a garbage va_list through the stack, nobody ever
needed to look at it. We can easily adjust one of the trace2 tests to
trigger this, both for bug() and for BUG(). The latter isn't broken, but
it's nice to exercise both a bit more. Without the fix in this patch
(but with the test change), the bug() case causes a segfault.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agorelative_url(): fix incorrect condition
Johannes Schindelin [Wed, 15 Jun 2022 23:35:44 +0000 (23:35 +0000)] 
relative_url(): fix incorrect condition

In 63e95beb085c (submodule: port resolve_relative_url from shell to C,
2016-04-15), we added a loop over `url` where we are looking for `../`
or `./` components.

The loop condition we used is the pointer `url` itself, which is clearly
not what we wanted.

Pointed out by Coverity.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agopack-mtimes: avoid closing a bogus file descriptor
Johannes Schindelin [Wed, 15 Jun 2022 23:35:43 +0000 (23:35 +0000)] 
pack-mtimes: avoid closing a bogus file descriptor

In 94cd775a6c52 (pack-mtimes: support reading .mtimes files,
2022-05-20), code was added to close the file descriptor corresponding
to the mtimes file.

However, it is possible that opening that file failed, in which case we
are closing a file descriptor with the value `-1`. Let's guard that
`close()` call.

Reported by Coverity.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoread_index_from(): avoid memory leak
Johannes Schindelin [Wed, 15 Jun 2022 23:35:42 +0000 (23:35 +0000)] 
read_index_from(): avoid memory leak

In 998330ac2e7c (read-cache: look for shared index files next to the
index, too, 2021-08-26), we added code that allocates memory to store
the base path of a shared index, but we never released that memory.

Reported by Coverity.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agosubmodule--helper: avoid memory leak when fetching submodules
Johannes Schindelin [Wed, 15 Jun 2022 23:35:41 +0000 (23:35 +0000)] 
submodule--helper: avoid memory leak when fetching submodules

In c51f8f94e5b3 (submodule--helper: run update procedures from C,
2021-08-24), we added code that first obtains the default remote, and
then adds that to a `strvec`.

However, we never released the default remote's memory.

Reported by Coverity.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agosubmodule-config: avoid memory leak
Johannes Schindelin [Wed, 15 Jun 2022 23:35:39 +0000 (23:35 +0000)] 
submodule-config: avoid memory leak

In 961b130d20c9 (branch: add --recurse-submodules option for branch
creation, 2022-01-28), a funny pattern was introduced where first some
struct is `xmalloc()`ed, then we resize an array whose element type is
the same struct, and then the first struct's contents are copied into
the last element of that array.

Crucially, the `xmalloc()`ed memory never gets released.

Let's avoid that memory leak and that memory allocation dance altogether
by first reallocating the array, then using a pointer to the last array
element to go forward.

Reported by Coverity.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agofsmonitor: avoid memory leak in `fsm_settings__get_incompatible_msg()`
Johannes Schindelin [Wed, 15 Jun 2022 23:35:36 +0000 (23:35 +0000)] 
fsmonitor: avoid memory leak in `fsm_settings__get_incompatible_msg()`

Reported by Coverity.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agocache-tree: remove cache_tree_find_path()
Derrick Stolee [Thu, 16 Jun 2022 13:13:50 +0000 (13:13 +0000)] 
cache-tree: remove cache_tree_find_path()

This reverts 080ab56a46 (cache-tree: implement cache_tree_find_path(),
2022-05-23). The cache_tree_find_path() method was never actually called
in the topic that added it. I cannot find any reference to it in any of
my forks, so this appears to not be needed at the moment.

Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agopack-write: drop always-NULL parameter
Derrick Stolee [Thu, 16 Jun 2022 13:13:49 +0000 (13:13 +0000)] 
pack-write: drop always-NULL parameter

write_mtimes_file() takes an mtimes parameter as its first option, but
the only caller passes a NULL constant. Drop this parameter to simplify
logic. This can be reverted if that parameter is needed in the future.

Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agot5329: test 'git gc --cruft' without '--prune=now'
Derrick Stolee [Thu, 16 Jun 2022 13:13:48 +0000 (13:13 +0000)] 
t5329: test 'git gc --cruft' without '--prune=now'

Replace a 'git repack --cruft -d' with the wrapper 'git gc --cruft' to
exercise some logic in builtin/gc.c that adds the '--cruft' option to
the underlying 'git repack' command.

Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agot2107: test 'git update-index --verbose'
Derrick Stolee [Thu, 16 Jun 2022 13:13:47 +0000 (13:13 +0000)] 
t2107: test 'git update-index --verbose'

The '--verbose' option reports what is being added and removed from the
index, but has not been tested up to this point. Augment the tests in
t2107 to check the '--verbose' option in some scenarios.

Signed-off-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoperf-lib: fix missing test titles in output
Jeff King [Thu, 16 Jun 2022 07:09:32 +0000 (03:09 -0400)] 
perf-lib: fix missing test titles in output

Commit 5dccd9155f (t/perf: add iteration setup mechanism to perf-lib,
2022-04-04) modified the parameter parsing of test_wrapper() such that
the test title was no longer in $1, and is instead in $test_title_.

We correctly pass the new variable to the code which outputs the title
to the log, but missed the spot in test_wrapper() where the title is
written to the ".descr" file which is used to produce the final output
table. As a result, all of the titles are missing from that table (or
worse, using whatever was left in $1):

  $ ./p0000-perf-lib-sanity.sh
  [...]
  Test           this tree
  ------------------------------
  0000.1:        0.01(0.01+0.00)
  0000.2:        0.01(0.00+0.01)
  0000.4:        0.00(0.00+0.00)
  0000.5: true   0.00(0.00+0.00)
  0000.7:        0.00(0.00+0.00)
  0000.8:        0.00(0.00+0.00)

After this patch, we get the pre-5dccd9155f output:

  Test                                                       this tree
  --------------------------------------------------------------------------
  0000.1: test_perf_default_repo works                       0.00(0.00+0.00)
  0000.2: test_checkout_worktree works                       0.01(0.00+0.01)
  0000.4: export a weird var                                 0.00(0.00+0.00)
  0000.5: éḿíẗ ńöń-ÁŚĆÍÍ ćḧáŕáćẗéŕś                          0.00(0.00+0.00)
  0000.7: important variables available in subshells         0.00(0.00+0.00)
  0000.8: test-lib-functions correctly loaded in subshells   0.00(0.00+0.00)

Signed-off-by: Jeff King <peff@peff.net>
Acked-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agobuiltin/rebase: remove a redundant space in l10n string
Fangyi Zhou [Thu, 16 Jun 2022 17:18:58 +0000 (17:18 +0000)] 
builtin/rebase: remove a redundant space in l10n string

Found in l10n.

Signed-off-by: Fangyi Zhou <me@fangyi.io>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agol10n: es: update translation
Alex Henrie [Thu, 16 Jun 2022 14:39:06 +0000 (08:39 -0600)] 
l10n: es: update translation

* fix more translation mistakes
* consistently translate "amend" as "enmendar"
* consistently translate "chunk" as "fragmento"
* consistently translate "prune" as "recortar" or "recorte"
* consistently translate "push" as "empujar" or "empuje"
* consistently translate "rephrase" as "refrasear" or "refraseo"
* consistently translate "squash" as "aplastar" or "aplastamiento"

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2 years agoFixes and updates post -rc0
Junio C Hamano [Wed, 15 Jun 2022 22:09:35 +0000 (15:09 -0700)] 
Fixes and updates post -rc0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoMerge branch 'fs/ssh-default-key-command-doc'
Junio C Hamano [Wed, 15 Jun 2022 22:09:28 +0000 (15:09 -0700)] 
Merge branch 'fs/ssh-default-key-command-doc'

Doc update.

* fs/ssh-default-key-command-doc:
  gpg docs: explain better use of ssh.defaultKeyCommand

2 years agoMerge branch 'po/rebase-preserve-merges'
Junio C Hamano [Wed, 15 Jun 2022 22:09:28 +0000 (15:09 -0700)] 
Merge branch 'po/rebase-preserve-merges'

Various error messages that talk about the removal of
"--preserve-merges" in "rebase" have been strengthened, and "rebase
--abort" learned to get out of a state that was left by an earlier
use of the option.

* po/rebase-preserve-merges:
  rebase: translate a die(preserve-merges) message
  rebase: note `preserve` merges may be a pull config option
  rebase: help users when dying with `preserve-merges`
  rebase.c: state preserve-merges has been removed

2 years agoMerge branch 'jc/revert-show-parent-info'
Junio C Hamano [Wed, 15 Jun 2022 22:09:27 +0000 (15:09 -0700)] 
Merge branch 'jc/revert-show-parent-info'

"git revert" learns "--reference" option to use more human-readable
reference to the commit it reverts in the message template it
prepares for the user.

* jc/revert-show-parent-info:
  revert: --reference should apply only to 'revert', not 'cherry-pick'
  revert: optionally refer to commit in the "reference" format

2 years agotests: add LIBCURL prerequisite to tests needing libcurl
Ævar Arnfjörð Bjarmason [Wed, 15 Jun 2022 10:36:32 +0000 (12:36 +0200)] 
tests: add LIBCURL prerequisite to tests needing libcurl

Add and use a LIBCURL prerequisite for tests added in
6dcbdc0d661 (remote: create fetch.credentialsInUrl config,
2022-06-06).

These tests would get as far as emitting a couple of the warnings we
were testing for, but would then die as we had no "git-remote-https"
program compiled.

It would be more consistent with other prerequisites (e.g. PERL for
NO_PERL) to name this "CURL", but since e9184b0789a (t5561: skip tests
if curl is not available, 2018-04-03) we've had that prerequisite
defined for checking of we have the curl(1) program.

The existing "CURL" prerequisite is only used in one place, and we
should probably name it "CURL_PROGRAM", then rename "LIBCURL" to
"CURL" as a follow-up, but for now (pre-v2.37.0) let's aim for the
most minimal fix possible.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agopush: fix capitalisation of the option name autoSetupMerge
Fangyi Zhou [Wed, 15 Jun 2022 15:35:44 +0000 (15:35 +0000)] 
push: fix capitalisation of the option name autoSetupMerge

This was found during l10n process by Jiang Xin.

Reported-by: Jiang Xin <worldhello.net@gmail.com>
Signed-off-by: Fangyi Zhou <me@fangyi.io>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agotransfer doc: move fetch.credentialsInUrl to "transfer" config namespace
Ævar Arnfjörð Bjarmason [Wed, 15 Jun 2022 10:44:12 +0000 (12:44 +0200)] 
transfer doc: move fetch.credentialsInUrl to "transfer" config namespace

Rename the "fetch.credentialsInUrl" configuration variable introduced
in 6dcbdc0d661 (remote: create fetch.credentialsInUrl config,
2022-06-06) to "transfer".

There are existing exceptions, but generally speaking the
"<namespace>.<var>" configuration should only apply to command
described in the "namespace" (and its sub-commands, so e.g. "clone.*"
or "fetch.*" might also configure "git-remote-https").

But in the case of "fetch.credentialsInUrl" we've got a configuration
variable that configures the behavior of all of "clone", "push" and
"fetch", someone adjusting "fetch.*" configuration won't expect to
have the behavior of "git push" altered, especially as we have the
pre-existing "{transfer,fetch,receive}.fsckObjects", which configures
different parts of the transfer dialog.

So let's move this configuration variable to the "transfer" namespace
before it's exposed in a release. We could add all of
"{transfer,fetch,pull}.credentialsInUrl" at some other time, but once
we have "fetch" configure "pull" such an arrangement would would be a
confusing mess, as we'd at least need to have "fetch" configure
"push" (but not the other way around), or change existing behavior.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agofetch doc: note "pushurl" caveat about "credentialsInUrl", elaborate
Ævar Arnfjörð Bjarmason [Wed, 15 Jun 2022 10:44:11 +0000 (12:44 +0200)] 
fetch doc: note "pushurl" caveat about "credentialsInUrl", elaborate

Amend the documentation and release notes entry for the
"fetch.credentialsInUrl" feature added in 6dcbdc0d661 (remote: create
fetch.credentialsInUrl config, 2022-06-06), it currently doesn't
detect passwords in `remote.<name>.pushurl` configuration. We
shouldn't lull users into a false sense of security, so we need to
mention that prominently.

This also elaborates and clarifies the "exposes the password in
multiple ways" part of the documentation. As noted in [1] a user
unfamiliar with git's implementation won't know what to make of that
scary claim, e.g. git hypothetically have novel git-specific ways of
exposing configured credentials.

The reality is that this configuration is intended as an aid for users
who can't fully trust their OS's or system's security model, so lets
say that's what this is intended for, and mention the most common ways
passwords stored in configuration might inadvertently get exposed.

1. https://lore.kernel.org/git/220524.86ilpuvcqh.gmgdl@evledraar.gmail.com/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Acked-by: Derrick Stolee <derrickstolee@github.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoadd -i tests: mark "TODO" depending on GIT_TEST_ADD_I_USE_BUILTIN
Ævar Arnfjörð Bjarmason [Tue, 14 Jun 2022 15:40:07 +0000 (17:40 +0200)] 
add -i tests: mark "TODO" depending on GIT_TEST_ADD_I_USE_BUILTIN

Fix an issue that existed before 0527ccb1b55 (add -i: default to the
built-in implementation, 2021-11-30), but which became the default
with that change, we should not be marking tests that are known to
pass as "TODO" tests.

When GIT_TEST_ADD_I_USE_BUILTIN=1 was made the default we started
passing the tests added in 0f0fba2cc87 (t3701: add a test for advanced
split-hunk editing, 2019-12-06) and 1bf01040f0c (add -p: demonstrate
failure when running 'edit' after a split, 2015-04-16).

Thus we've been emitting this sort of output:

$ prove ./t3701-add-interactive.sh
./t3701-add-interactive.sh .. ok
All tests successful.

Test Summary Report
-------------------
./t3701-add-interactive.sh (Wstat: 0 Tests: 70 Failed: 0)
  TODO passed:   45, 47
Files=1, Tests=70,  2 wallclock secs ( 0.03 usr  0.00 sys +  0.86 cusr  0.33 csys =  1.22 CPU)
Result: PASS

Which isn't just cosmetic, but due to issues with
test_expect_failure (see [1]) we could e.g. be hiding something as bad
as a segfault in the new implementation. It makes sense catch that,
especially before we put out a release with the built-in "add -i", so
let's generalize the check we were already doing in 0527ccb1b55 with a
new "ADD_I_USE_BUILTIN" prerequisite.

1. https://lore.kernel.org/git/patch-1.7-4624abc2591-20220318T002951Z-avarab@gmail.com/

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoGit 2.37-rc0 v2.37.0-rc0
Junio C Hamano [Mon, 13 Jun 2022 22:42:40 +0000 (15:42 -0700)] 
Git 2.37-rc0

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoMerge branch 'gc/document-config-worktree-scope'
Junio C Hamano [Mon, 13 Jun 2022 22:53:44 +0000 (15:53 -0700)] 
Merge branch 'gc/document-config-worktree-scope'

Doc update.

* gc/document-config-worktree-scope:
  config: document and test the 'worktree' scope

2 years agoMerge branch 'js/wait-or-whine-can-fail'
Junio C Hamano [Mon, 13 Jun 2022 22:53:44 +0000 (15:53 -0700)] 
Merge branch 'js/wait-or-whine-can-fail'

We used to log an error return from wait_or_whine() as process
termination of the waited child, which was incorrect.

* js/wait-or-whine-can-fail:
  run-command: don't spam trace2_child_exit()

2 years agoMerge branch 'ab/remote-free-fix'
Junio C Hamano [Mon, 13 Jun 2022 22:53:43 +0000 (15:53 -0700)] 
Merge branch 'ab/remote-free-fix'

Use-after-free (with another forget-to-free) fix.

* ab/remote-free-fix:
  remote.c: don't dereference NULL in freeing loop
  remote.c: remove braces from one-statement "for"-loops

2 years agoMerge branch 'sn/fsmonitor-missing-clock'
Junio C Hamano [Mon, 13 Jun 2022 22:53:43 +0000 (15:53 -0700)] 
Merge branch 'sn/fsmonitor-missing-clock'

Sample watchman interface hook sometimes failed to produce
correctly formatted JSON message, which has been corrected.

* sn/fsmonitor-missing-clock:
  fsmonitor: query watchman with right valid json

2 years agoMerge branch 'zh/read-cache-copy-name-entry-fix'
Junio C Hamano [Mon, 13 Jun 2022 22:53:43 +0000 (15:53 -0700)] 
Merge branch 'zh/read-cache-copy-name-entry-fix'

Remove redundant copying (with index v3 and older) or possible
over-reading beyond end of mmapped memory (with index v4) has been
corrected.

* zh/read-cache-copy-name-entry-fix:
  read-cache.c: reduce unnecessary cache entry name copying

2 years agoMerge branch 'tb/show-ref-optim'
Junio C Hamano [Mon, 13 Jun 2022 22:53:42 +0000 (15:53 -0700)] 
Merge branch 'tb/show-ref-optim'

"git show-ref --heads" (and "--tags") still iterated over all the
refs only to discard refs outside the specified area, which has
been corrected.

* tb/show-ref-optim:
  builtin/show-ref.c: avoid over-iterating with --heads, --tags

2 years agoMerge branch 'ds/credentials-in-url'
Junio C Hamano [Mon, 13 Jun 2022 22:53:42 +0000 (15:53 -0700)] 
Merge branch 'ds/credentials-in-url'

The "fetch.credentialsInUrl" configuration variable controls what
happens when a URL with embedded login credential is used.

* ds/credentials-in-url:
  remote: create fetch.credentialsInUrl config

2 years agoMerge branch 'jt/unparse-commit-upon-graft-change'
Junio C Hamano [Mon, 13 Jun 2022 22:53:42 +0000 (15:53 -0700)] 
Merge branch 'jt/unparse-commit-upon-graft-change'

Updating the graft information invalidates the list of parents of
in-core commit objects that used to be in the graft file.

* jt/unparse-commit-upon-graft-change:
  commit,shallow: unparse commits if grafts changed

2 years agoMerge branch 'ab/hooks-regression-fix'
Junio C Hamano [Mon, 13 Jun 2022 22:53:41 +0000 (15:53 -0700)] 
Merge branch 'ab/hooks-regression-fix'

In Git 2.36 we revamped the way how hooks are invoked.  One change
that is end-user visible is that the output of a hook is no longer
directly connected to the standard output of "git" that spawns the
hook, which was noticed post release.  This is getting corrected.

* ab/hooks-regression-fix:
  hook API: fix v2.36.0 regression: hooks should be connected to a TTY
  run-command: add an "ungroup" option to run_process_parallel()

2 years agoMerge branch 'tl/ls-tree-oid-only'
Junio C Hamano [Mon, 13 Jun 2022 22:53:41 +0000 (15:53 -0700)] 
Merge branch 'tl/ls-tree-oid-only'

Add tests for a regression fixed earlier.

* tl/ls-tree-oid-only:
  ls-tree: test for the regression in 9c4d58ff2c3

2 years agoMerge branch 'pb/range-diff-with-submodule'
Junio C Hamano [Mon, 13 Jun 2022 22:53:41 +0000 (15:53 -0700)] 
Merge branch 'pb/range-diff-with-submodule'

"git -c diff.submodule=log range-diff" did not show anything for
submodules that changed in the ranges being compared, and
"git -c diff.submodule=diff range-diff" did not work correctly.
Fix this by including the "--submodule=short" output
unconditionally to be compared.

* pb/range-diff-with-submodule:
  range-diff: show submodule changes irrespective of diff.submodule

2 years agoci(github): also mark up compile errors
Johannes Schindelin [Mon, 13 Jun 2022 13:13:08 +0000 (13:13 +0000)] 
ci(github): also mark up compile errors

When GCC produces those helpful errors, we will want to present them in
the GitHub workflow runs in the most helpful manner. To that end, we
want to use workflow commands to render errors and warnings:
https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions

In the previous commit, we ensured that grouping is used for the build
in all jobs, and this allows us to piggy-back onto the `group` function
to transmogrify the output.

Note: If `set -o pipefail` was available, we could do this in a little
more elegant way. But since some of the steps are run using `dash`, we
have to do a little `{ ...; echo $? >exit.status; } | ...` dance.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoci(github): use grouping also in the `win-build` job
Johannes Schindelin [Mon, 13 Jun 2022 13:13:07 +0000 (13:13 +0000)] 
ci(github): use grouping also in the `win-build` job

We already do the same when building Git in all the other jobs.

This will allow us to piggy-back on top of grouping to mark up compiler
errors in the next commit.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoNinth batch
Junio C Hamano [Fri, 10 Jun 2022 22:05:15 +0000 (15:05 -0700)] 
Ninth batch

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoMerge branch 'ab/bug-if-bug'
Junio C Hamano [Fri, 10 Jun 2022 22:04:15 +0000 (15:04 -0700)] 
Merge branch 'ab/bug-if-bug'

A new bug() and BUG_if_bug() API is introduced to make it easier to
uniformly log "detect multiple bugs and abort in the end" pattern.

* ab/bug-if-bug:
  cache-tree.c: use bug() and BUG_if_bug()
  receive-pack: use bug() and BUG_if_bug()
  parse-options.c: use optbug() instead of BUG() "opts" check
  parse-options.c: use new bug() API for optbug()
  usage.c: add a non-fatal bug() function to go with BUG()
  common-main.c: move non-trace2 exit() behavior out of trace2.c

2 years agoMerge branch 'jy/gitweb-xhtml5'
Junio C Hamano [Fri, 10 Jun 2022 22:04:15 +0000 (15:04 -0700)] 
Merge branch 'jy/gitweb-xhtml5'

Update the doctype written in gitweb output to xhtml5.

* jy/gitweb-xhtml5:
  gitweb: switch to an XHTML5 DOCTYPE

2 years agoMerge branch 'jh/builtin-fsmonitor-part3'
Junio C Hamano [Fri, 10 Jun 2022 22:04:14 +0000 (15:04 -0700)] 
Merge branch 'jh/builtin-fsmonitor-part3'

More fsmonitor--daemon.

* jh/builtin-fsmonitor-part3: (30 commits)
  t7527: improve implicit shutdown testing in fsmonitor--daemon
  fsmonitor--daemon: allow --super-prefix argument
  t7527: test Unicode NFC/NFD handling on MacOS
  t/lib-unicode-nfc-nfd: helper prereqs for testing unicode nfc/nfd
  t/helper/hexdump: add helper to print hexdump of stdin
  fsmonitor: on macOS also emit NFC spelling for NFD pathname
  t7527: test FSMonitor on case insensitive+preserving file system
  fsmonitor: never set CE_FSMONITOR_VALID on submodules
  t/perf/p7527: add perf test for builtin FSMonitor
  t7527: FSMonitor tests for directory moves
  fsmonitor: optimize processing of directory events
  fsm-listen-darwin: shutdown daemon if worktree root is moved/renamed
  fsm-health-win32: force shutdown daemon if worktree root moves
  fsm-health-win32: add polling framework to monitor daemon health
  fsmonitor--daemon: stub in health thread
  fsmonitor--daemon: rename listener thread related variables
  fsmonitor--daemon: prepare for adding health thread
  fsmonitor--daemon: cd out of worktree root
  fsm-listen-darwin: ignore FSEvents caused by xattr changes on macOS
  unpack-trees: initialize fsmonitor_has_run_once in o->result
  ...

2 years agoMerge branch 'gc/zero-length-branch-config-fix'
Junio C Hamano [Fri, 10 Jun 2022 22:04:14 +0000 (15:04 -0700)] 
Merge branch 'gc/zero-length-branch-config-fix'

A misconfigured 'branch..remote' led to a bug in configuration
parsing.

* gc/zero-length-branch-config-fix:
  remote.c: reject 0-length branch names
  remote.c: don't BUG() on 0-length branch names

2 years agoMerge branch 'ab/env-array'
Junio C Hamano [Fri, 10 Jun 2022 22:04:13 +0000 (15:04 -0700)] 
Merge branch 'ab/env-array'

Rename .env_array member to .env in the child_process structure.

* ab/env-array:
  run-command API users: use "env" not "env_array" in comments & names
  run-command API: rename "env_array" to "env"

2 years agoMerge branch 'cb/buggy-gcc-12-workaround'
Junio C Hamano [Fri, 10 Jun 2022 22:04:12 +0000 (15:04 -0700)] 
Merge branch 'cb/buggy-gcc-12-workaround'

With a more targetted workaround in http.c in another topic, we may
be able to lift this blanket "GCC12 dangling-pointer warning is
broken and unsalvageable" workaround.

* cb/buggy-gcc-12-workaround:
  Revert -Wno-error=dangling-pointer

2 years agogit-prompt: fix expansion of branch colour codes
Joakim Petersen [Fri, 10 Jun 2022 00:47:37 +0000 (02:47 +0200)] 
git-prompt: fix expansion of branch colour codes

Because of the wrapping of the branch name variable $b, the colour codes
in the variable don't get applied, but are instead printed directly in
the output. Move the wrapping of $b to before colour codes are inserted
to correct this. Revert move of branch name colour codes in tests, as
the branch name is now coloured after the wrapping instead of before.

Signed-off-by: Joakim Petersen <joak-pet@online.no>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agogpg docs: explain better use of ssh.defaultKeyCommand
Fabian Stelzer [Wed, 8 Jun 2022 15:24:37 +0000 (17:24 +0200)] 
gpg docs: explain better use of ssh.defaultKeyCommand

Using `ssh-add -L` for gpg.ssh.defaultKeyCommand is not a good
recommendation. It might switch keys depending on the order of known
keys and it only supports ssh-* and no ecdsa or other keys.
Clarify that we expect a literal key prefixed by `key::`, give valid
example use cases and refer to `user.signingKey` as the preferred
option.

Signed-off-by: Fabian Stelzer <fs@gigacodes.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoci(github): bring back the 'print test failures' step
Johannes Schindelin [Wed, 8 Jun 2022 10:43:18 +0000 (10:43 +0000)] 
ci(github): bring back the 'print test failures' step

Git now shows better information in the GitHub workflow runs when a test
case failed. However, when a test case was implemented incorrectly and
therefore does not even run, nothing is shown.

Let's bring back the step that prints the full logs of the failed tests,
and to improve the user experience, print out an informational message
for readers so that they do not have to know/remember where to see the
full logs.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoSync with 'maint'
Junio C Hamano [Wed, 8 Jun 2022 21:29:30 +0000 (14:29 -0700)] 
Sync with 'maint'

2 years agoPrepare for 2.36.2
Junio C Hamano [Wed, 8 Jun 2022 01:48:52 +0000 (18:48 -0700)] 
Prepare for 2.36.2

Signed-off-by: Junio C Hamano <gitster@pobox.com>
2 years agoMerge branch 'jc/clone-remote-name-leak-fix' into maint
Junio C Hamano [Wed, 8 Jun 2022 21:27:53 +0000 (14:27 -0700)] 
Merge branch 'jc/clone-remote-name-leak-fix' into maint

"git clone --origin X" leaked piece of memory that held value read
from the clone.defaultRemoteName configuration variable, which has
been plugged.
source: <xmqqlevl4ysk.fsf@gitster.g>

* jc/clone-remote-name-leak-fix:
  clone: plug a miniscule leak

2 years agoMerge branch 'ds/midx-normalize-pathname-before-comparison' into maint
Junio C Hamano [Wed, 8 Jun 2022 21:27:53 +0000 (14:27 -0700)] 
Merge branch 'ds/midx-normalize-pathname-before-comparison' into maint

The path taken by "git multi-pack-index" command from the end user
was compared with path internally prepared by the tool withut first
normalizing, which lead to duplicated paths not being noticed,
which has been corrected.
source: <pull.1221.v2.git.1650911234.gitgitgadget@gmail.com>

* ds/midx-normalize-pathname-before-comparison:
  cache: use const char * for get_object_directory()
  multi-pack-index: use --object-dir real path
  midx: use real paths in lookup_multi_pack_index()

2 years agoMerge branch 'ah/rebase-keep-base-fix' into maint
Junio C Hamano [Wed, 8 Jun 2022 21:27:52 +0000 (14:27 -0700)] 
Merge branch 'ah/rebase-keep-base-fix' into maint

"git rebase --keep-base <upstream> <branch-to-rebase>" computed the
commit to rebase onto incorrectly, which has been corrected.
source: <20220421044233.894255-1-alexhenrie24@gmail.com>

* ah/rebase-keep-base-fix:
  rebase: use correct base for --keep-base when a branch is given

2 years agoMerge branch 'pw/test-malloc-with-sanitize-address' into maint
Junio C Hamano [Wed, 8 Jun 2022 21:27:52 +0000 (14:27 -0700)] 
Merge branch 'pw/test-malloc-with-sanitize-address' into maint

Avoid problems from interaction between malloc_check and address
sanitizer.
source: <pull.1210.git.1649507317350.gitgitgadget@gmail.com>

* pw/test-malloc-with-sanitize-address:
  tests: make SANITIZE=address imply TEST_NO_MALLOC_CHECK

2 years agoMerge branch 'rs/commit-summary-wo-break-rewrite' into maint
Junio C Hamano [Wed, 8 Jun 2022 21:27:52 +0000 (14:27 -0700)] 
Merge branch 'rs/commit-summary-wo-break-rewrite' into maint

The commit summary shown after making a commit is matched to what
is given in "git status" not to use the break-rewrite heuristics.
source: <c35bd0aa-2e46-e710-2b39-89f18bad0097@web.de>

* rs/commit-summary-wo-break-rewrite:
  commit, sequencer: turn off break_opt for commit summary