bbea4dc | Junio C Hamano | 04 July 2022, 20:45:08 UTC | Git 2.37.1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 July 2022, 20:45:08 UTC |
a631e99 | Junio C Hamano | 04 July 2022, 20:40:31 UTC | Merge 'js/add-i-delete' into maint-2.37 Rewrite of "git add -i" in C that appeared in Git 2.25 didn't correctly record a removed file to the index, which is an old regression but has become widely known because the C version has become the default in the latest release. Signed-off-by: Junio C Hamano <gitster@pobox.com> | 04 July 2022, 20:40:59 UTC |
4788e8b | Johannes Schindelin | 28 June 2022, 22:22:44 UTC | add --interactive: allow `update` to stage deleted files The scripted version of `git add -i` used `git update-index --add --remove`, but the built-in version implemented only the `--add` part. This fixes https://github.com/msys2/MSYS2-packages/issues/3066 Reported-by: Christoph Reiter <reiter.christoph@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com> | 28 June 2022, 22:37:50 UTC |
69ab330 | Junio C Hamano | 27 June 2022, 19:36:11 UTC | Sync with Git 2.36.2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 June 2022, 19:41:41 UTC |
e4a4b31 | Junio C Hamano | 27 June 2022, 16:17:55 UTC | Git 2.37 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 27 June 2022, 16:17:55 UTC |
49c8374 | Junio C Hamano | 27 June 2022, 16:13:41 UTC | Merge branch 'jc/revert-show-parent-info' * jc/revert-show-parent-info: revert: config documentation fixes | 27 June 2022, 16:13:41 UTC |
5dba4d6 | Junio C Hamano | 27 June 2022, 15:39:10 UTC | 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 | 27 June 2022, 15:39:10 UTC |
fc0f8bc | René Scharfe | 26 June 2022, 09:29:35 UTC | 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> | 27 June 2022, 15:37:36 UTC |
71e3a31 | Peter Krefting | 24 June 2022, 20:23:54 UTC | 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> | 26 June 2022, 12:38:46 UTC |
11d4c8b | Dimitriy Ryazantcev | 20 June 2022, 13:02:39 UTC | l10n: ru.po: update Russian translation Signed-off-by: Dimitriy Ryazantcev <dimitriy.ryazantcev@gmail.com> Signed-off-by: Jiang Xin <worldhello.net@gmail.com> | 26 June 2022, 12:32:33 UTC |
e7022fc | Jiang Xin | 26 June 2022, 05:54:26 UTC | 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 | 26 June 2022, 05:54:26 UTC |
c9d5dea | Yi-Jyun Pan | 23 June 2022, 13:08:28 UTC | l10n: zh_TW: v2.37.0 round 1 Signed-off-by: Yi-Jyun Pan <pan93412@gmail.com> | 25 June 2022, 13:21:57 UTC |
0015f89 | Jiang Xin | 25 June 2022, 03:01:20 UTC | Merge branch 'master' of github.com:vnwildman/git * 'master' of github.com:vnwildman/git: l10n: vi(5367t): Updated translation | 25 June 2022, 03:01:20 UTC |
84189f4 | Tran Ngoc Quan | 25 June 2022, 01:40:42 UTC | l10n: vi(5367t): Updated translation Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com> | 25 June 2022, 01:40:42 UTC |
305136b | Jean-Noël Avila | 24 June 2022, 09:04:25 UTC | l10n: fr v2.37 round 1 Signed-off-by: Jean-Noël Avila <jn.avila@free.fr> | 24 June 2022, 19:59:53 UTC |
a54f9fb | Jordi Mas | 24 June 2022, 11:30:45 UTC | l10n: Update Catalan translation Signed-off-by: Jordi Mas <jmas@softcatala.org> | 24 June 2022, 11:30:45 UTC |
39c15e4 | Junio C Hamano | 23 June 2022, 20:22:35 UTC | Merge branch 'ab/credentials-in-url-more' * ab/credentials-in-url-more: Documentation/config/transfer.txt: fix typo | 23 June 2022, 20:22:35 UTC |
bcb6cdf | Taylor Blau | 23 June 2022, 19:02:01 UTC | 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> | 23 June 2022, 19:43:29 UTC |
7d7192b | Jiang Xin | 23 June 2022, 13:01:47 UTC | 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) | 23 June 2022, 13:01:47 UTC |
fd59c5b | Johannes Schindelin | 23 June 2022, 10:36:14 UTC | Git 2.36.2 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> | 23 June 2022, 10:40:44 UTC |
8f8eea8 | Johannes Schindelin | 23 June 2022, 10:36:12 UTC | Sync with 2.35.4 * maint-2.35: Git 2.35.4 Git 2.34.4 Git 2.33.4 Git 2.32.3 Git 2.31.4 Git 2.30.5 setup: tighten ownership checks post CVE-2022-24765 git-compat-util: allow root to access both SUDO_UID and root owned t0034: add negative tests and allow git init to mostly work under sudo git-compat-util: avoid failing dir ownership checks if running privileged t: regression git needs safe.directory when using sudo | 23 June 2022, 10:36:12 UTC |
359da65 | Johannes Schindelin | 23 June 2022, 10:36:05 UTC | Git 2.35.4 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> | 23 June 2022, 10:36:05 UTC |
aef3d59 | Johannes Schindelin | 23 June 2022, 10:36:03 UTC | Sync with 2.34.4 * maint-2.34: Git 2.34.4 Git 2.33.4 Git 2.32.3 Git 2.31.4 Git 2.30.5 setup: tighten ownership checks post CVE-2022-24765 git-compat-util: allow root to access both SUDO_UID and root owned t0034: add negative tests and allow git init to mostly work under sudo git-compat-util: avoid failing dir ownership checks if running privileged t: regression git needs safe.directory when using sudo | 23 June 2022, 10:36:03 UTC |
f2eed22 | Johannes Schindelin | 23 June 2022, 10:35:49 UTC | Git 2.34.4 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> | 23 June 2022, 10:35:49 UTC |
378eade | Johannes Schindelin | 23 June 2022, 10:35:47 UTC | Sync with 2.33.4 * maint-2.33: Git 2.33.4 Git 2.32.3 Git 2.31.4 Git 2.30.5 setup: tighten ownership checks post CVE-2022-24765 git-compat-util: allow root to access both SUDO_UID and root owned t0034: add negative tests and allow git init to mostly work under sudo git-compat-util: avoid failing dir ownership checks if running privileged t: regression git needs safe.directory when using sudo | 23 June 2022, 10:35:47 UTC |
80c525c | Johannes Schindelin | 23 June 2022, 10:35:41 UTC | Git 2.33.4 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> | 23 June 2022, 10:35:41 UTC |
eebfde3 | Johannes Schindelin | 23 June 2022, 10:35:38 UTC | Sync with 2.32.3 * maint-2.32: Git 2.32.3 Git 2.31.4 Git 2.30.5 setup: tighten ownership checks post CVE-2022-24765 git-compat-util: allow root to access both SUDO_UID and root owned t0034: add negative tests and allow git init to mostly work under sudo git-compat-util: avoid failing dir ownership checks if running privileged t: regression git needs safe.directory when using sudo | 23 June 2022, 10:35:38 UTC |
656d9a2 | Johannes Schindelin | 23 June 2022, 10:35:32 UTC | Git 2.32.3 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> | 23 June 2022, 10:35:32 UTC |
fc0c773 | Johannes Schindelin | 23 June 2022, 10:35:30 UTC | Sync with 2.31.4 * maint-2.31: Git 2.31.4 Git 2.30.5 setup: tighten ownership checks post CVE-2022-24765 git-compat-util: allow root to access both SUDO_UID and root owned t0034: add negative tests and allow git init to mostly work under sudo git-compat-util: avoid failing dir ownership checks if running privileged t: regression git needs safe.directory when using sudo | 23 June 2022, 10:35:30 UTC |
5b1c746 | Johannes Schindelin | 23 June 2022, 10:35:25 UTC | Git 2.31.4 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> | 23 June 2022, 10:35:25 UTC |
2f8809f | Johannes Schindelin | 23 June 2022, 10:35:23 UTC | Sync with 2.30.5 * maint-2.30: Git 2.30.5 setup: tighten ownership checks post CVE-2022-24765 git-compat-util: allow root to access both SUDO_UID and root owned t0034: add negative tests and allow git init to mostly work under sudo git-compat-util: avoid failing dir ownership checks if running privileged t: regression git needs safe.directory when using sudo | 23 June 2022, 10:35:23 UTC |
88b7be6 | Johannes Schindelin | 27 May 2022, 21:38:36 UTC | Git 2.30.5 Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> | 23 June 2022, 10:31:05 UTC |
3b0bf27 | Carlo Marcelo Arenas Belón | 10 May 2022, 19:35:29 UTC | setup: tighten ownership checks post CVE-2022-24765 8959555cee7 (setup_git_directory(): add an owner check for the top-level directory, 2022-03-02), adds a function to check for ownership of repositories using a directory that is representative of it, and ways to add exempt a specific repository from said check if needed, but that check didn't account for owership of the gitdir, or (when used) the gitfile that points to that gitdir. An attacker could create a git repository in a directory that they can write into but that is owned by the victim to work around the fix that was introduced with CVE-2022-24765 to potentially run code as the victim. An example that could result in privilege escalation to root in *NIX would be to set a repository in a shared tmp directory by doing (for example): $ git -C /tmp init To avoid that, extend the ensure_valid_ownership function to be able to check for all three paths. This will have the side effect of tripling the number of stat() calls when a repository is detected, but the effect is expected to be likely minimal, as it is done only once during the directory walk in which Git looks for a repository. Additionally make sure to resolve the gitfile (if one was used) to find the relevant gitdir for checking. While at it change the message printed on failure so it is clear we are referring to the repository by its worktree (or gitdir if it is bare) and not to a specific directory. Helped-by: Junio C Hamano <junio@pobox.com> Helped-by: Johannes Schindelin <Johannes.Schindelin@gmx.de> Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> | 23 June 2022, 10:31:05 UTC |
b779214 | Junio C Hamano | 26 May 2022, 21:51:32 UTC | Merge branch 'cb/path-owner-check-with-sudo' With a recent update to refuse access to repositories of other people by default, "sudo make install" and "sudo git describe" stopped working. This series intends to loosen it while keeping the safety. * cb/path-owner-check-with-sudo: t0034: add negative tests and allow git init to mostly work under sudo git-compat-util: avoid failing dir ownership checks if running privileged t: regression git needs safe.directory when using sudo Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> | 23 June 2022, 10:31:04 UTC |
c38261e | Bagas Sanjaya | 15 June 2022, 07:33:28 UTC | 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> | 23 June 2022, 08:46:02 UTC |
160071c | Emir SARI | 15 June 2022, 14:48:40 UTC | l10n: tr: v2.37.0 round #1 Signed-off-by: Emir SARI <emir_sari@icloud.com> | 23 June 2022, 06:47:23 UTC |
aa6bc5c | Jiang Xin | 23 June 2022, 02:45:03 UTC | 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 | 23 June 2022, 02:45:03 UTC |
241dd99 | Jiang Xin | 23 June 2022, 02:44:43 UTC | Merge branch 'master' of github.com:alshopov/git-po * 'master' of github.com:alshopov/git-po: l10n: bg.po: Updated Bulgarian translation (5367t) | 23 June 2022, 02:44:43 UTC |
bf34edf | Jiang Xin | 23 June 2022, 02:44:30 UTC | 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 | 23 June 2022, 02:44:30 UTC |
1b51ae5 | Arthur Milchior | 22 June 2022, 19:50:44 UTC | 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> | 23 June 2022, 02:43:17 UTC |
0411e8a | Matthias Rüster | 21 June 2022, 18:24:14 UTC | 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> | 22 June 2022, 17:19:14 UTC |
13608fd | Matthias Rüster | 19 June 2022, 18:55:59 UTC | l10n: de.po: Update German translation Reviewed-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Matthias Rüster <matthias.ruester@gmail.com> | 22 June 2022, 17:19:14 UTC |
f770e9f | Junio C Hamano | 22 June 2022, 16:07:56 UTC | Git 2.37-rc2 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 22 June 2022, 16:07:56 UTC |
b9e4d89 | Junio C Hamano | 22 June 2022, 16:06:37 UTC | Merge branch 'tb/cruft-packs' Docfix. * tb/cruft-packs: gc: simplify --cruft description | 22 June 2022, 16:06:37 UTC |
4ab8145 | Alexander Shopov | 12 June 2022, 08:56:04 UTC | l10n: bg.po: Updated Bulgarian translation (5367t) Signed-off-by: Alexander Shopov <ash@kambanaria.org> | 22 June 2022, 13:45:12 UTC |
db25580 | Fangyi Zhou | 22 June 2022, 09:28:36 UTC | l10n: zh_CN: v2.37.0 round 1 Reviewed-by: Jiang Xin <worldhello.net@gmail.com> Signed-off-by: Fangyi Zhou <me@fangyi.io> | 22 June 2022, 09:28:36 UTC |
ce51ed5 | Jiang Xin | 22 June 2022, 07:46:22 UTC | 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 | 22 June 2022, 07:46:22 UTC |
ddbc078 | Junio C Hamano | 21 June 2022, 17:07:50 UTC | 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 | 21 June 2022, 17:07:50 UTC |
378b519 | René Scharfe | 19 June 2022, 05:38:50 UTC | 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> | 21 June 2022, 15:58:04 UTC |
325240d | Alexander Shopov | 20 June 2022, 16:44:34 UTC | 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> | 20 June 2022, 23:20:45 UTC |
74e34a0 | Jiang Xin | 18 June 2022, 06:02:07 UTC | 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 ... | 18 June 2022, 06:02:07 UTC |
5b71c59 | Junio C Hamano | 18 June 2022, 00:15:13 UTC | Git 2.37-rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 18 June 2022, 00:15:13 UTC |
694c0cc | Junio C Hamano | 18 June 2022, 00:12:31 UTC | 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 | 18 June 2022, 00:12:31 UTC |
6b11e3d | Carlo Marcelo Arenas Belón | 17 June 2022, 20:23:38 UTC | 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> | 17 June 2022, 21:03:08 UTC |
b4eda05 | Jiang Xin | 17 June 2022, 10:03:09 UTC | 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> | 17 June 2022, 17:38:26 UTC |
b81b98f | Junio C Hamano | 17 June 2022, 17:33:42 UTC | Another batch of fixes before -rc1 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 17 June 2022, 17:33:42 UTC |
aa11b94 | Junio C Hamano | 17 June 2022, 17:33:32 UTC | 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 | 17 June 2022, 17:33:32 UTC |
7f5a382 | Junio C Hamano | 17 June 2022, 17:33:32 UTC | 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 | 17 June 2022, 17:33:32 UTC |
d0d96b8 | Junio C Hamano | 17 June 2022, 17:33:32 UTC | 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 | 17 June 2022, 17:33:32 UTC |
e870c58 | Junio C Hamano | 17 June 2022, 17:33:31 UTC | 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()` | 17 June 2022, 17:33:31 UTC |
99bbf47 | Junio C Hamano | 17 June 2022, 17:33:31 UTC | Merge branch 'jc/cocci-cleanup' Remove a coccinelle rule that is no longer relevant. * jc/cocci-cleanup: cocci: retire is_null_sha1() rule | 17 June 2022, 17:33:31 UTC |
30327a0 | Junio C Hamano | 17 June 2022, 17:33:31 UTC | 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' | 17 June 2022, 17:33:31 UTC |
2fec2d2 | Junio C Hamano | 17 June 2022, 17:33:31 UTC | 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 | 17 June 2022, 17:33:31 UTC |
2b288c4 | Jiang Xin | 17 June 2022, 00:57:35 UTC | Merge branch 'master' of github.com:git/git * 'master' of github.com:git/git: builtin/rebase: remove a redundant space in l10n string | 17 June 2022, 00:57:35 UTC |
f853559 | Jeff King | 16 June 2022, 20:04:25 UTC | 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> | 16 June 2022, 20:28:22 UTC |
c918f5c | Johannes Schindelin | 15 June 2022, 23:35:44 UTC | 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> | 16 June 2022, 20:22:03 UTC |
41f1a8e | Johannes Schindelin | 15 June 2022, 23:35:43 UTC | 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> | 16 June 2022, 20:22:03 UTC |
652891d | Johannes Schindelin | 15 June 2022, 23:35:42 UTC | 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> | 16 June 2022, 20:22:03 UTC |
41a86b6 | Johannes Schindelin | 15 June 2022, 23:35:41 UTC | 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> | 16 June 2022, 20:22:03 UTC |
f535592 | Johannes Schindelin | 15 June 2022, 23:35:39 UTC | 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> | 16 June 2022, 20:22:03 UTC |
5a09991 | Johannes Schindelin | 15 June 2022, 23:35:36 UTC | 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> | 16 June 2022, 20:22:03 UTC |
86aa250 | Derrick Stolee | 16 June 2022, 13:13:50 UTC | 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> | 16 June 2022, 18:59:56 UTC |
82db195 | Derrick Stolee | 16 June 2022, 13:13:49 UTC | 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> | 16 June 2022, 18:59:55 UTC |
9aa1cba | Derrick Stolee | 16 June 2022, 13:13:48 UTC | 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> | 16 June 2022, 18:59:55 UTC |
624b8cf | Derrick Stolee | 16 June 2022, 13:13:47 UTC | 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> | 16 June 2022, 18:59:55 UTC |
55d9d4b | Jeff King | 16 June 2022, 07:09:32 UTC | 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> | 16 June 2022, 18:57:35 UTC |
3b9a5a3 | Fangyi Zhou | 16 June 2022, 17:18:58 UTC | 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> | 16 June 2022, 18:15:23 UTC |
69635e5 | Alex Henrie | 16 June 2022, 14:39:06 UTC | 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> | 16 June 2022, 14:39:06 UTC |
4f6db70 | Junio C Hamano | 15 June 2022, 22:09:35 UTC | Fixes and updates post -rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 15 June 2022, 22:09:35 UTC |
686790f | Junio C Hamano | 15 June 2022, 22:09:28 UTC | Merge branch 'fs/ssh-default-key-command-doc' Doc update. * fs/ssh-default-key-command-doc: gpg docs: explain better use of ssh.defaultKeyCommand | 15 June 2022, 22:09:28 UTC |
589bc09 | Junio C Hamano | 15 June 2022, 22:09:28 UTC | 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 | 15 June 2022, 22:09:28 UTC |
bfca631 | Junio C Hamano | 15 June 2022, 22:09:27 UTC | 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 | 15 June 2022, 22:09:27 UTC |
7596fe9 | Ævar Arnfjörð Bjarmason | 15 June 2022, 10:36:32 UTC | 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> | 15 June 2022, 18:49:52 UTC |
1f8496c | Fangyi Zhou | 15 June 2022, 15:35:44 UTC | 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> | 15 June 2022, 18:45:46 UTC |
7281c19 | Ævar Arnfjörð Bjarmason | 15 June 2022, 10:44:12 UTC | 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> | 15 June 2022, 18:40:11 UTC |
4a169da | Ævar Arnfjörð Bjarmason | 15 June 2022, 10:44:11 UTC | 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> | 15 June 2022, 18:39:02 UTC |
7ccbea5 | Ævar Arnfjörð Bjarmason | 14 June 2022, 15:40:07 UTC | 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> | 15 June 2022, 17:30:30 UTC |
8168d5e | Junio C Hamano | 13 June 2022, 22:42:40 UTC | Git 2.37-rc0 Signed-off-by: Junio C Hamano <gitster@pobox.com> | 13 June 2022, 22:53:44 UTC |
21bb385 | Junio C Hamano | 13 June 2022, 22:53:44 UTC | Merge branch 'gc/document-config-worktree-scope' Doc update. * gc/document-config-worktree-scope: config: document and test the 'worktree' scope | 13 June 2022, 22:53:44 UTC |
da48270 | Junio C Hamano | 13 June 2022, 22:53:44 UTC | 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() | 13 June 2022, 22:53:44 UTC |
fe66167 | Junio C Hamano | 13 June 2022, 22:53:43 UTC | 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 | 13 June 2022, 22:53:43 UTC |
70055ef | Junio C Hamano | 13 June 2022, 22:53:43 UTC | 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 | 13 June 2022, 22:53:43 UTC |
113656e | Junio C Hamano | 13 June 2022, 22:53:43 UTC | 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 | 13 June 2022, 22:53:43 UTC |
2246937 | Junio C Hamano | 13 June 2022, 22:53:42 UTC | 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 | 13 June 2022, 22:53:42 UTC |
11698e5 | Junio C Hamano | 13 June 2022, 22:53:42 UTC | 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 | 13 June 2022, 22:53:42 UTC |
eef985e | Junio C Hamano | 13 June 2022, 22:53:42 UTC | 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 | 13 June 2022, 22:53:42 UTC |
1a7f6be | Junio C Hamano | 13 June 2022, 22:53:41 UTC | 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() | 13 June 2022, 22:53:41 UTC |
66c2948 | Junio C Hamano | 13 June 2022, 22:53:41 UTC | 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 | 13 June 2022, 22:53:41 UTC |
ecbd60a | Junio C Hamano | 13 June 2022, 22:53:41 UTC | 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 | 13 June 2022, 22:53:41 UTC |
cadcafc | Johannes Schindelin | 13 June 2022, 13:13:08 UTC | 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> | 13 June 2022, 16:58:42 UTC |