From 214c2d0212cc3e0b9ab265994642a1ba15657fd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-No=C3=ABl=20Avila?= Date: Sun, 29 Sep 2024 21:34:37 +0200 Subject: [PATCH] update to v2.47.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jean-Noël Avila --- GIT-VERSION-FILE | 2 +- en/config/init.txt | 10 ++++++++++ en/fetch-options.txt | 5 +++-- en/git-apply.txt | 9 ++++++++- en/git-cat-file.txt | 6 +++--- en/git-check-mailmap.txt | 18 +++++++++++++---- en/git-clone.txt | 6 +++--- en/git-commit.txt | 2 +- en/git-config.txt | 6 +++--- en/git-diff-tree.txt | 2 +- en/git-for-each-ref.txt | 42 +++++++++++++++++++++++++++++++++++++++ en/git-gc.txt | 5 ++++- en/git-ls-files.txt | 6 +++--- en/git-rebase.txt | 2 +- en/git-send-email.txt | 13 ++++++++++++ en/git-show-branch.txt | 2 +- en/git-submodule.txt | 10 ++++++++-- en/git-svn.txt | 14 ++++++------- en/git.txt | 11 ++++++++++ en/glossary-content.txt | 2 +- en/mergetools-merge.txt | 1 + en/ref-storage-format.txt | 3 +++ sources.txt | 1 + 23 files changed, 143 insertions(+), 35 deletions(-) create mode 100644 en/ref-storage-format.txt diff --git a/GIT-VERSION-FILE b/GIT-VERSION-FILE index 8ef71a22..c16487ae 100644 --- a/GIT-VERSION-FILE +++ b/GIT-VERSION-FILE @@ -1 +1 @@ -GIT_VERSION = 2.46.0 +GIT_VERSION = 2.47.0 diff --git a/en/config/init.txt b/en/config/init.txt index af03acdb..e45b2a81 100644 --- a/en/config/init.txt +++ b/en/config/init.txt @@ -8,3 +8,13 @@ endif::[] `init.defaultBranch`:: Allows overriding the default branch name e.g. when initializing a new repository. +`init.defaultObjectFormat`:: + Allows overriding the default object format for new repositories. See + `--object-format=` in linkgit:git-init[1]. Both the command line option + and the `GIT_DEFAULT_HASH` environment variable take precedence over + this config. +`init.defaultRefFormat`:: + Allows overriding the default ref storage format for new repositories. + See `--ref-format=` in linkgit:git-init[1]. Both the command line + option and the `GIT_DEFAULT_REF_FORMAT` environment variable take + precedence over this config. diff --git a/en/fetch-options.txt b/en/fetch-options.txt index e22b217f..80838fe3 100644 --- a/en/fetch-options.txt +++ b/en/fetch-options.txt @@ -1,6 +1,7 @@ --[no-]all:: - Fetch all remotes. This overrides the configuration variable - `fetch.all`. + Fetch all remotes, except for the ones that has the + `remote..skipFetchAll` configuration variable set. + This overrides the configuration variable fetch.all`. -a:: --append:: diff --git a/en/git-apply.txt b/en/git-apply.txt index 9cce68a3..dd4a61ef 100644 --- a/en/git-apply.txt +++ b/en/git-apply.txt @@ -9,7 +9,8 @@ git-apply - Apply a patch to files and/or to the index SYNOPSIS -------- [verse] -'git apply' [--stat] [--numstat] [--summary] [--check] [--index | --intent-to-add] [--3way] +'git apply' [--stat] [--numstat] [--summary] [--check] + [--index | --intent-to-add] [--3way] [--ours | --theirs | --union] [--apply] [--no-add] [--build-fake-ancestor=] [-R | --reverse] [--allow-binary-replacement | --binary] [--reject] [-z] [-p] [-C] [--inaccurate-eof] [--recount] [--cached] @@ -92,6 +93,12 @@ OPTIONS When used with the `--cached` option, any conflicts are left at higher stages in the cache. +--ours:: +--theirs:: +--union:: + Instead of leaving conflicts in the file, resolve conflicts favouring + our (or their or both) side of the lines. Requires --3way. + --build-fake-ancestor=:: Newer 'git diff' output has embedded 'index information' for each blob to help identify the original version that diff --git a/en/git-cat-file.txt b/en/git-cat-file.txt index bd95a6c1..d5890ae3 100644 --- a/en/git-cat-file.txt +++ b/en/git-cat-file.txt @@ -270,9 +270,9 @@ BATCH OUTPUT ------------ If `--batch` or `--batch-check` is given, `cat-file` will read objects -from stdin, one per line, and print information about them. By default, -the whole line is considered as an object, as if it were fed to -linkgit:git-rev-parse[1]. +from stdin, one per line, and print information about them in the same +order as they have been read. By default, the whole line is +considered as an object, as if it were fed to linkgit:git-rev-parse[1]. When `--batch-command` is given, `cat-file` will read commands from stdin, one per line, and print information based on the command given. With diff --git a/en/git-check-mailmap.txt b/en/git-check-mailmap.txt index 02f44183..966c91c4 100644 --- a/en/git-check-mailmap.txt +++ b/en/git-check-mailmap.txt @@ -15,10 +15,10 @@ SYNOPSIS DESCRIPTION ----------- -For each ``Name $$$$'' or ``$$$$'' from the command-line -or standard input (when using `--stdin`), look up the person's canonical name -and email address (see "Mapping Authors" below). If found, print them; -otherwise print the input as-is. +For each ``Name $$$$'', ``$$$$'', or ``$$user@host$$'' +from the command-line or standard input (when using `--stdin`), look up the +person's canonical name and email address (see "Mapping Authors" below). If +found, print them; otherwise print the input as-is. OPTIONS @@ -27,6 +27,16 @@ OPTIONS Read contacts, one per line, from the standard input after exhausting contacts provided on the command-line. +--mailmap-file=:: + In addition to any configured mailmap files, read the specified + mailmap file. Entries in this file take precedence over entries in + either the default mailmap file or any configured mailmap file. + +--mailmap-blob=:: + Like `--mailmap-file`, but consider the value as a reference to a + blob in the repository. If both `--mailmap-file` and + `--mailmap-blob` are specified, entries in `--mailmap-file` will + take precedence. OUTPUT ------ diff --git a/en/git-clone.txt b/en/git-clone.txt index 5de18de2..8e925db7 100644 --- a/en/git-clone.txt +++ b/en/git-clone.txt @@ -13,9 +13,9 @@ SYNOPSIS [`-l`] [`-s`] [`--no-hardlinks`] [`-q`] [`-n`] [`--bare`] [`--mirror`] [`-o` __] [`-b` __] [`-u` __] [`--reference` __] [`--dissociate`] [`--separate-git-dir` __] - [`--depth` __] [`--`[`no-`]`single-branch`] [`--no-tags`] - [++--recurse-submodules++[++=++____]] [`--`[`no-`]`shallow-submodules`] - [`--`[`no-`]`remote-submodules`] [`--jobs` __] [`--sparse`] [`--`[`no-`]`reject-shallow`] + [`--depth` __] [`--`[`no-`]{empty}`single-branch`] [`--no-tags`] + [++--recurse-submodules++[++=++____]] [++--++[++no-++]{empty}++shallow-submodules++] + [`--`[`no-`]{empty}`remote-submodules`] [`--jobs` __] [`--sparse`] [`--`[`no-`]{empty}`reject-shallow`] [++--filter=++____] [`--also-filter-submodules`]] [`--`] __ [__] diff --git a/en/git-commit.txt b/en/git-commit.txt index 89ecfc63..c822113c 100644 --- a/en/git-commit.txt +++ b/en/git-commit.txt @@ -9,7 +9,7 @@ SYNOPSIS -------- [verse] 'git commit' [-a | --interactive | --patch] [-s] [-v] [-u] [--amend] - [--dry-run] [(-c | -C | --squash) | --fixup [(amend|reword):])] + [--dry-run] [(-c | -C | --squash) | --fixup [(amend|reword):]] [-F | -m ] [--reset-author] [--allow-empty] [--allow-empty-message] [--no-verify] [-e] [--author=] [--date=] [--cleanup=] [--[no-]status] diff --git a/en/git-config.txt b/en/git-config.txt index 65c645d4..7f81fbbe 100644 --- a/en/git-config.txt +++ b/en/git-config.txt @@ -10,7 +10,7 @@ SYNOPSIS -------- [verse] 'git config list' [] [] [--includes] -'git config get' [] [] [--includes] [--all] [--regexp=] [--value=] [--fixed-value] [--default=] +'git config get' [] [] [--includes] [--all] [--regexp] [--value=] [--fixed-value] [--default=] 'git config set' [] [--type=] [--all] [--value=] [--fixed-value] 'git config unset' [] [--all] [--value=] [--fixed-value] 'git config rename-section' [] @@ -130,7 +130,7 @@ OPTIONS --all:: With `get`, return all values for a multi-valued key. ----regexp:: +--regexp:: With `get`, interpret the name as a regular expression. Regular expression matching is currently case-sensitive and done against a canonicalized version of the key in which section and variable names @@ -309,7 +309,7 @@ recommended to migrate to the new syntax. Replaced by `git config get [--value=] `. --get-all []:: - Replaced by `git config get [--value=] --all --show-names `. + Replaced by `git config get [--value=] --all `. --get-regexp :: Replaced by `git config get --all --show-names --regexp `. diff --git a/en/git-diff-tree.txt b/en/git-diff-tree.txt index 143318c4..09286a85 100644 --- a/en/git-diff-tree.txt +++ b/en/git-diff-tree.txt @@ -88,7 +88,7 @@ include::pretty-options.txt[] --no-commit-id:: 'git diff-tree' outputs a line with the commit ID when - applicable. This flag suppressed the commit ID output. + applicable. This flag suppresses the commit ID output. -c:: This flag changes the way a merge commit is displayed diff --git a/en/git-for-each-ref.txt b/en/git-for-each-ref.txt index c1dd12b9..d3764401 100644 --- a/en/git-for-each-ref.txt +++ b/en/git-for-each-ref.txt @@ -264,6 +264,48 @@ ahead-behind::: commits ahead and behind, respectively, when comparing the output ref to the `` specified in the format. +is-base::: + In at most one row, `()` will appear to indicate the ref + that is most likely the ref used as a starting point for the branch + that produced ``. This choice is made using a heuristic: + choose the ref that minimizes the number of commits in the + first-parent history of `` and not in the first-parent + history of the ref. ++ +For example, consider the following figure of first-parent histories of +several refs: ++ +---- +*--*--*--*--*--* refs/heads/A +\ + \ + *--*--*--* refs/heads/B + \ \ + \ \ + * * refs/heads/C + \ + \ + *--* refs/heads/D +---- ++ +Here, if `A`, `B`, and `C` are the filtered references, and the format +string is `%(refname):%(is-base:D)`, then the output would be ++ +---- +refs/heads/A: +refs/heads/B:(D) +refs/heads/C: +---- ++ +This is because the first-parent history of `D` has its earliest +intersection with the first-parent histories of the filtered refs at a +common first-parent ancestor of `B` and `C` and ties are broken by the +earliest ref in the sorted order. ++ +Note that this token will not appear if the first-parent history of +`` does not intersect the first-parent histories of the +filtered refs. + describe[:options]:: A human-readable name, like linkgit:git-describe[1]; empty string for undescribable commits. The `describe` string may diff --git a/en/git-gc.txt b/en/git-gc.txt index b5561c45..370e22fa 100644 --- a/en/git-gc.txt +++ b/en/git-gc.txt @@ -9,7 +9,7 @@ git-gc - Cleanup unnecessary files and optimize the local repository SYNOPSIS -------- [verse] -'git gc' [--aggressive] [--auto] [--quiet] [--prune= | --no-prune] [--force] [--keep-largest-pack] +'git gc' [--aggressive] [--auto] [--[no-]detach] [--quiet] [--prune= | --no-prune] [--force] [--keep-largest-pack] DESCRIPTION ----------- @@ -53,6 +53,9 @@ configuration options such as `gc.auto` and `gc.autoPackLimit`, all other housekeeping tasks (e.g. rerere, working trees, reflog...) will be performed as well. +--[no-]detach:: + Run in the background if the system supports it. This option overrides + the `gc.autoDetach` config. --[no-]cruft:: When expiring unreachable objects, pack them separately into a diff --git a/en/git-ls-files.txt b/en/git-ls-files.txt index d08c7da8..58c529af 100644 --- a/en/git-ls-files.txt +++ b/en/git-ls-files.txt @@ -219,9 +219,9 @@ followed by the ("attr/"). --format=:: A string that interpolates `%(fieldname)` from the result being shown. - It also interpolates `%%` to `%`, and `%xx` where `xx` are hex digits - interpolates to character with hex code `xx`; for example `%00` - interpolates to `\0` (NUL), `%09` to `\t` (TAB) and %0a to `\n` (LF). + It also interpolates `%%` to `%`, and `%xXX` where `XX` are hex digits + interpolates to character with hex code `XX`; for example `%x00` + interpolates to `\0` (NUL), `%x09` to `\t` (TAB) and %x0a to `\n` (LF). --format cannot be combined with `-s`, `-o`, `-k`, `-t`, `--resolve-undo` and `--eol`. \--:: diff --git a/en/git-rebase.txt b/en/git-rebase.txt index 74df345f..b18cdbc0 100644 --- a/en/git-rebase.txt +++ b/en/git-rebase.txt @@ -737,7 +737,7 @@ The 'apply' backend works by creating a sequence of patches (by calling `format-patch` internally), and then applying the patches in sequence (calling `am` internally). Patches are composed of multiple hunks, each with line numbers, a context region, and the actual changes. The -line numbers have to be taken with some fuzz, since the other side +line numbers have to be taken with some offset, since the other side will likely have inserted or deleted lines earlier in the file. The context region is meant to help find how to adjust the line numbers in order to apply the changes to the right lines. However, if multiple diff --git a/en/git-send-email.txt b/en/git-send-email.txt index c5d664f4..bc3ef45a 100644 --- a/en/git-send-email.txt +++ b/en/git-send-email.txt @@ -12,6 +12,7 @@ SYNOPSIS 'git send-email' [] (|)... 'git send-email' [] 'git send-email' --dump-aliases +'git send-email' --translate-aliases DESCRIPTION @@ -413,6 +414,12 @@ exists when 'git send-email' is asked to add it (especially note that Failure to do so may not produce the expected result in the recipient's MUA. +--[no-]mailmap:: + Use the mailmap file (see linkgit:gitmailmap[5]) to map all + addresses to their canonical real name and email address. Additional + mailmap data specific to git-send-email may be provided using the + `sendemail.mailmap.file` or `sendemail.mailmap.blob` configuration + values. Defaults to `sendemail.mailmap`. Administering ~~~~~~~~~~~~~ @@ -475,6 +482,12 @@ Information that this only includes the alias name and not its expanded email addresses. See 'sendemail.aliasesFile' for more information about aliases. +--translate-aliases:: + Instead of the normal operation, read from standard input and + interpret each line as an email alias. Translate it according to the + configured alias file(s). Output each translated name and email + address to standard output, one per line. See 'sendemail.aliasFile' + for more information about aliases. CONFIGURATION ------------- diff --git a/en/git-show-branch.txt b/en/git-show-branch.txt index c771c897..bc31d8b6 100644 --- a/en/git-show-branch.txt +++ b/en/git-show-branch.txt @@ -22,7 +22,7 @@ Shows the commit ancestry graph starting from the commits named with s or s (or all refs under refs/heads and/or refs/tags) semi-visually. -It cannot show more than 29 branches and commits at a time. +It cannot show more than 26 branches and commits at a time. It uses `showbranch.default` multi-valued configuration items if no or is given on the command line. diff --git a/en/git-submodule.txt b/en/git-submodule.txt index ca0347a3..87d8e0f0 100644 --- a/en/git-submodule.txt +++ b/en/git-submodule.txt @@ -34,7 +34,7 @@ COMMANDS With no arguments, shows the status of existing submodules. Several subcommands are available to perform operations on the submodules. -add [-b ] [-f|--force] [--name ] [--reference ] [--depth ] [--] []:: +add [-b ] [-f|--force] [--name ] [--reference ] [--ref-format ] [--depth ] [--] []:: Add the given repository as a submodule at the given path to the changeset to be committed next to the current project: the current project is termed the "superproject". @@ -71,6 +71,9 @@ submodule repositories will be kept together in the same relative location, and only the superproject's URL needs to be provided. git-submodule will correctly locate the submodule using the relative URL in `.gitmodules`. ++ +If `--ref-format ` is specified, the ref storage format of newly +cloned submodules will be set accordingly. status [--cached] [--recursive] [--] [...]:: Show the status of the submodules. This will print the SHA-1 of the @@ -136,7 +139,7 @@ If you really want to remove a submodule from the repository and commit that use linkgit:git-rm[1] instead. See linkgit:gitsubmodules[7] for removal options. -update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference ] [--depth ] [--recursive] [--jobs ] [--[no-]single-branch] [--filter ] [--] [...]:: +update [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference ] [--ref-format ] [--depth ] [--recursive] [--jobs ] [--[no-]single-branch] [--filter ] [--] [...]:: + -- Update the registered submodules to match what the superproject @@ -185,6 +188,9 @@ submodule with the `--init` option. If `--recursive` is specified, this command will recurse into the registered submodules, and update any nested submodules within. +If `--ref-format ` is specified, the ref storage format of newly +cloned submodules will be set accordingly. + If `--filter ` is specified, the given partial clone filter will be applied to the submodule. See linkgit:git-rev-list[1] for details on filter specifications. diff --git a/en/git-svn.txt b/en/git-svn.txt index 43c68c2e..bcf7d84a 100644 --- a/en/git-svn.txt +++ b/en/git-svn.txt @@ -431,14 +431,14 @@ Any other arguments are passed directly to 'git log' independently of 'git svn' functions. 'create-ignore':: - Recursively finds the svn:ignore property on directories and - creates matching .gitignore files. The resulting files are staged to - be committed, but are not committed. Use -r/--revision to refer to a - specific revision. + Recursively finds the svn:ignore and svn:global-ignores properties + on directories and creates matching .gitignore files. The resulting + files are staged to be committed, but are not committed. Use + -r/--revision to refer to a specific revision. 'show-ignore':: - Recursively finds and lists the svn:ignore property on - directories. The output is suitable for appending to + Recursively finds and lists the svn:ignore and svn:global-ignores + properties on directories. The output is suitable for appending to the $GIT_DIR/info/exclude file. 'mkdirs':: @@ -871,7 +871,7 @@ Tracking and contributing to the trunk of a Subversion-managed project # Now commit your changes (that were committed previously using Git) to SVN, # as well as automatically updating your working HEAD: git svn dcommit -# Append svn:ignore settings to the default Git exclude file: +# Append svn:ignore and svn:global-ignores settings to the default Git exclude file: git svn show-ignore >> .git/info/exclude ------------------------------------------------------------------------ diff --git a/en/git.txt b/en/git.txt index 4489e229..d15a8697 100644 --- a/en/git.txt +++ b/en/git.txt @@ -1027,6 +1027,17 @@ standard output. adequate and support for it is likely to be removed in the foreseeable future (along with the variable). +`GIT_ADVICE`:: + If set to `0`, then disable all advice messages. These messages are + intended to provide hints to human users that may help them get out of + problematic situations or take advantage of new features. Users can + disable individual messages using the `advice.*` config keys. These + messages may be disruptive to tools that execute Git processes, so this + variable is available to disable the messages. (The `--no-advice` + global option is also available, but old Git versions may fail when + this option is not understood. The environment variable will be ignored + by Git versions that do not understand it.) + Discussion[[Discussion]] ------------------------ diff --git a/en/glossary-content.txt b/en/glossary-content.txt index 30b394ab..42afe048 100644 --- a/en/glossary-content.txt +++ b/en/glossary-content.txt @@ -550,7 +550,7 @@ The following pseudorefs are known to Git: to the result. [[def_ref]]ref:: - A name that that points to an <> or + A name that points to an <> or another ref (the latter is called a <>). For convenience, a ref can sometimes be abbreviated when used as an argument to a Git command; see linkgit:gitrevisions[7] diff --git a/en/mergetools-merge.txt b/en/mergetools-merge.txt index f34a03f2..f8b97401 100644 --- a/en/mergetools-merge.txt +++ b/en/mergetools-merge.txt @@ -29,5 +29,6 @@ `vimdiff1`;; Use Vim with a 2 panes layout (LOCAL and REMOTE) `vimdiff2`;; Use Vim with a 3 panes layout (LOCAL, MERGED and REMOTE) `vimdiff3`;; Use Vim where only the MERGED file is shown +`vscode`;; Use Visual Studio Code (requires a graphical session) `winmerge`;; Use WinMerge (requires a graphical session) `xxdiff`;; Use xxdiff (requires a graphical session) diff --git a/en/ref-storage-format.txt b/en/ref-storage-format.txt new file mode 100644 index 00000000..14fff8a9 --- /dev/null +++ b/en/ref-storage-format.txt @@ -0,0 +1,3 @@ +* `files` for loose files with packed-refs. This is the default. +* `reftable` for the reftable format. This format is experimental and its + internals are subject to change. diff --git a/sources.txt b/sources.txt index e2298b62..6ef0c6b3 100644 --- a/sources.txt +++ b/sources.txt @@ -190,6 +190,7 @@ pretty-formats.txt pretty-options.txt pull-fetch-param.txt ref-reachability-filters.txt +ref-storage-format.txt rerere-options.txt revisions.txt rev-list-description.txt