diff options
| author | Junio C Hamano <gitster@pobox.com> | 2025-03-12 11:55:05 -0700 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-03-12 11:55:05 -0700 |
| commit | 7c42ab2c92a54adf0573de36ea29e5bcb819c7da (patch) | |
| tree | ead8ff7ad6d5b3b42d30ca3dc34f0f1cd69126c3 /Documentation | |
| parent | b838bf1938926a7a900166136d995d86f8a00e24 (diff) | |
| parent | 87d297f48367737444810f8c3e76ef88cb6aa4e3 (diff) | |
| download | git-7c42ab2c92a54adf0573de36ea29e5bcb819c7da.tar.xz | |
Merge branch 'ps/refname-avail-check-optim' into kn/non-transactional-batch-updates
* ps/refname-avail-check-optim: (43 commits)
refs: reuse iterators when determining refname availability
refs/iterator: implement seeking for files iterators
refs/iterator: implement seeking for packed-ref iterators
refs/iterator: implement seeking for ref-cache iterators
refs/iterator: implement seeking for reftable iterators
refs/iterator: implement seeking for merged iterators
refs/iterator: provide infrastructure to re-seek iterators
refs/iterator: separate lifecycle from iteration
refs: stop re-verifying common prefixes for availability
refs/files: batch refname availability checks for initial transactions
refs/files: batch refname availability checks for normal transactions
refs/reftable: batch refname availability checks
refs: introduce function to batch refname availability checks
builtin/update-ref: skip ambiguity checks when parsing object IDs
object-name: allow skipping ambiguity checks in `get_oid()` family
object-name: introduce `repo_get_oid_with_flags()`
Git 2.49-rc0
The fourteenth batch
mailmap: fix check-mailmap with full mailmap line
The thirteenth batch
...
Diffstat (limited to 'Documentation')
| -rw-r--r-- | Documentation/Makefile | 5 | ||||
| -rw-r--r-- | Documentation/RelNotes/2.49.0.adoc | 27 | ||||
| -rw-r--r-- | Documentation/config/http.adoc | 15 | ||||
| -rw-r--r-- | Documentation/config/merge.adoc | 3 | ||||
| -rw-r--r-- | Documentation/git-commit.adoc | 8 | ||||
| -rw-r--r-- | Documentation/git-config.adoc | 4 | ||||
| -rw-r--r-- | Documentation/git-merge-tree.adoc | 11 | ||||
| -rw-r--r-- | Documentation/git-rebase.adoc | 8 | ||||
| -rw-r--r-- | Documentation/git.adoc | 5 | ||||
| -rw-r--r-- | Documentation/gitattributes.adoc | 4 | ||||
| -rw-r--r-- | Documentation/merge-strategies.adoc | 2 | ||||
| -rw-r--r-- | Documentation/pretty-formats.adoc | 8 |
12 files changed, 77 insertions, 23 deletions
diff --git a/Documentation/Makefile b/Documentation/Makefile index a734c6d624..c9a7cf662f 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -1,3 +1,6 @@ +# The default target of this Makefile is... +all:: + # Import tree-wide shared Makefile behavior and libraries include ../shared.mak @@ -238,7 +241,7 @@ DEFAULT_EDITOR_SQ = $(subst ','\'',$(DEFAULT_EDITOR)) ASCIIDOC_EXTRA += -a 'git-default-editor=$(DEFAULT_EDITOR_SQ)' endif -all: html man +all:: html man html: $(DOC_HTML) diff --git a/Documentation/RelNotes/2.49.0.adoc b/Documentation/RelNotes/2.49.0.adoc index 64323ec4a9..2e9aa0d69f 100644 --- a/Documentation/RelNotes/2.49.0.adoc +++ b/Documentation/RelNotes/2.49.0.adoc @@ -33,6 +33,11 @@ UI, Workflows & Features * "git rev-list --missing=" learned to accept "print-info" that gives known details expected of the missing objects, like path and type. + * Comes with an updated "gitk". + + * The documentation of "git commit" and "git rebase" now refer to + commit titles as such, not "subject". + Performance, Internal Implementation, Development Support etc. -------------------------------------------------------------- @@ -202,6 +207,25 @@ Fixes since v2.48 * A thunderbird helper script lost its bashism. (merge 59d26bd961 bc/contrib-thunderbird-patch-inline-fix later to maint). + * The -G/-S options to the "diff" family of commands caused us to hit + a BUG() when they get no values; they have been corrected. + (merge a620046b29 bc/diff-reject-empty-arg-to-pickaxe later to maint). + + * "git merge-tree --stdin" has been improved (including a workaround + for a deadlock). + (merge 6a9ae81015 pw/merge-tree-stdin-deadlock-fix later to maint). + + * Correct the default target in Documentation/Makefile, and + future-proof all Makefiles from similar breakages by declaring the + default target (which happens to be "all") upfront. + (merge 5309c1e9fb ad/set-default-target-in-makefiles later to maint). + + * "git check-mailmap" used to segfault when queried without human + readable name. + (merge bb60c52131 jk/check-mailmap-wo-name-fix later to maint). + + * Support for renaming of symbolic links on Windows has been improved. + * Other code cleanup, docfix, build fix, etc. (merge ddb5287894 jk/t7407-use-test-grep later to maint). (merge 21e1b44865 aj/difftool-config-doc-fix later to maint). @@ -217,3 +241,6 @@ Fixes since v2.48 (merge 087740d65a ps/leakfixes-0129 later to maint). (merge 6bba6f604b jp/doc-trailer-config later to maint). (merge f1cc562b77 lo/t7603-path-is-file-update later to maint). + (merge 45761988ac en/doc-renormalize later to maint). + (merge 832f56f06a jc/doc-boolean-synonyms later to maint). + (merge 3eeed876a9 ac/doc-http-ssl-type-config later to maint). diff --git a/Documentation/config/http.adoc b/Documentation/config/http.adoc index a14371b5c9..22a8803dea 100644 --- a/Documentation/config/http.adoc +++ b/Documentation/config/http.adoc @@ -216,6 +216,21 @@ http.sslBackend:: This option is ignored if cURL lacks support for choosing the SSL backend at runtime. +http.sslCertType:: + Type of client certificate used when fetching or pushing over HTTPS. + "PEM", "DER" are supported when using openssl or gnutls backends. "P12" + is supported on "openssl", "schannel", "securetransport", and gnutls 8.11+. + See also libcurl `CURLOPT_SSLCERTTYPE`. Can be overridden by the + `GIT_SSL_CERT_TYPE` environment variable. + +http.sslKeyType:: + Type of client private key used when fetching or pushing over HTTPS. (e.g. + "PEM", "DER", or "ENG"). Only applicable when using "openssl" backend. "DER" + is not supported with openssl. Particularly useful when set to "ENG" for + authenticating with PKCS#11 tokens, with a PKCS#11 URL in sslCert option. + See also libcurl `CURLOPT_SSLKEYTYPE`. Can be overridden by the + `GIT_SSL_KEY_TYPE` environment variable. + http.schannelCheckRevoke:: Used to enforce or disable certificate revocation checks in cURL when http.sslBackend is set to "schannel". Defaults to `true` if diff --git a/Documentation/config/merge.adoc b/Documentation/config/merge.adoc index 857de5b40b..d2d0f21a71 100644 --- a/Documentation/config/merge.adoc +++ b/Documentation/config/merge.adoc @@ -69,7 +69,8 @@ merge.renormalize:: Tell Git that canonical representation of files in the repository has changed over time (e.g. earlier commits record text files with CRLF line endings, but recent ones use LF line - endings). In such a repository, Git can convert the data + endings). In such a repository, for each file where a + three-way content merge is needed, Git can convert the data recorded in commits to a canonical form before performing a merge to reduce unnecessary conflicts. For more information, see section "Merging branches with differing checkin/checkout diff --git a/Documentation/git-commit.adoc b/Documentation/git-commit.adoc index dfb78169cb..dc219025f1 100644 --- a/Documentation/git-commit.adoc +++ b/Documentation/git-commit.adoc @@ -98,8 +98,8 @@ OPTIONS replaces the log message of _<commit>_ with its own log message but makes no changes to the content of _<commit>_. + -The commit created by plain `--fixup=<commit>` has a subject -composed of "fixup!" followed by the subject line from _<commit>_, +The commit created by plain `--fixup=<commit>` has a title +composed of "fixup!" followed by the title of _<commit>_, and is recognized specially by `git rebase --autosquash`. The `-m` option may be used to supplement the log message of the created commit, but the additional commentary will be thrown away once the @@ -107,7 +107,7 @@ commit, but the additional commentary will be thrown away once the `git rebase --autosquash`. + The commit created by `--fixup=amend:<commit>` is similar but its -subject is instead prefixed with "amend!". The log message of +title is instead prefixed with "amend!". The log message of _<commit>_ is copied into the log message of the "amend!" commit and opened in an editor so it can be refined. When `git rebase --autosquash` squashes the "amend!" commit into _<commit>_, the @@ -128,7 +128,7 @@ See linkgit:git-rebase[1] for details. `--squash=<commit>`:: Construct a commit message for use with `git rebase --autosquash`. - The commit message subject line is taken from the specified + The commit message title is taken from the specified commit with a prefix of "squash! ". Can be used with additional commit message options (`-m`/`-c`/`-C`/`-F`). See linkgit:git-rebase[1] for details. diff --git a/Documentation/git-config.adoc b/Documentation/git-config.adoc index 888f8ba54b..936e0c5130 100644 --- a/Documentation/git-config.adoc +++ b/Documentation/git-config.adoc @@ -213,7 +213,9 @@ See also <<FILES>>. + Valid `<type>`'s include: + -- 'bool': canonicalize values as either "true" or "false". +- 'bool': canonicalize values `true`, `yes`,`on`, and positive + numbers as "true", and values `false`, `no`, `off` and `0` as + "false". - 'int': canonicalize values as simple decimal numbers. An optional suffix of 'k', 'm', or 'g' will cause the value to be multiplied by 1024, 1048576, or 1073741824 upon input. diff --git a/Documentation/git-merge-tree.adoc b/Documentation/git-merge-tree.adoc index 0b6a8a19b1..cf0578f9b5 100644 --- a/Documentation/git-merge-tree.adoc +++ b/Documentation/git-merge-tree.adoc @@ -40,11 +40,17 @@ After the merge completes, a new toplevel tree object is created. See OPTIONS ------- +--stdin:: + Read the commits to merge from the standard input rather than + the command-line. See <<INPUT,INPUT FORMAT>> below for more + information. Implies `-z`. + -z:: Do not quote filenames in the <Conflicted file info> section, and end each filename with a NUL character rather than newline. Also begin the messages section with a NUL character - instead of a newline. See <<OUTPUT>> below for more information. + instead of a newline. See <<OUTPUT,OUTPUT>> below for more + information. --name-only:: In the Conflicted file info section, instead of writing a list @@ -116,8 +122,6 @@ This is an integer status followed by a NUL character. The integer status is: 0: merge had conflicts 1: merge was clean - <0: something prevented the merge from running (e.g. access to repository - objects denied by filesystem) [[OIDTLT]] OID of toplevel tree @@ -235,6 +239,7 @@ with linkgit:git-merge[1]: * any messages that would have been printed to stdout (the <<IM,Informational messages>>) +[[INPUT]] INPUT FORMAT ------------ 'git merge-tree --stdin' input format is fully text based. Each line diff --git a/Documentation/git-rebase.adoc b/Documentation/git-rebase.adoc index 133fe8c5e6..153cb69a4f 100644 --- a/Documentation/git-rebase.adoc +++ b/Documentation/git-rebase.adoc @@ -599,11 +599,11 @@ See also INCOMPATIBLE OPTIONS below. --no-autosquash:: Automatically squash commits with specially formatted messages into previous commits being rebased. If a commit message starts with - "squash! ", "fixup! " or "amend! ", the remainder of the subject line + "squash! ", "fixup! " or "amend! ", the remainder of the title is taken as a commit specifier, which matches a previous commit if it - matches the subject line or the hash of that commit. If no commit + matches the title or the hash of that commit. If no commit matches fully, matches of the specifier with the start of commit - subjects are considered. + titles are considered. + In the rebase todo list, the actions of squash, fixup and amend commits are changed from `pick` to `squash`, `fixup` or `fixup -C`, respectively, and they @@ -613,7 +613,7 @@ be used to review and edit the todo list before proceeding. The recommended way to create commits with squash markers is by using the `--squash`, `--fixup`, `--fixup=amend:` or `--fixup=reword:` options of linkgit:git-commit[1], which take the target commit as an argument and -automatically fill in the subject line of the new commit from that. +automatically fill in the title of the new commit from that. + Setting configuration variable `rebase.autoSquash` to true enables auto-squashing by default for interactive rebase. The `--no-autosquash` diff --git a/Documentation/git.adoc b/Documentation/git.adoc index a9c1183318..743b7b00e4 100644 --- a/Documentation/git.adoc +++ b/Documentation/git.adoc @@ -472,8 +472,9 @@ Environment Variables --------------------- Various Git commands pay attention to environment variables and change their behavior. The environment variables marked as "Boolean" take -their values the same way as Boolean valued configuration variables, e.g. -"true", "yes", "on" and positive numbers are taken as "yes". +their values the same way as Boolean valued configuration variables, i.e., +"true", "yes", "on" and positive numbers are taken as "yes", while "false", +"no", "off", and "0" are taken as "no". Here are the variables: diff --git a/Documentation/gitattributes.adoc b/Documentation/gitattributes.adoc index 5d12b78549..7eaca89972 100644 --- a/Documentation/gitattributes.adoc +++ b/Documentation/gitattributes.adoc @@ -701,8 +701,8 @@ where the attribute is not in place would normally cause merge conflicts. To prevent these unnecessary merge conflicts, Git can be told to run a -virtual check-out and check-in of all three stages of a file when -resolving a three-way merge by setting the `merge.renormalize` +virtual check-out and check-in of all three stages of each file that +needs a three-way content merge, by setting the `merge.renormalize` configuration variable. This prevents changes caused by check-in conversion from causing spurious merge conflicts when a converted file is merged with an unconverted file. diff --git a/Documentation/merge-strategies.adoc b/Documentation/merge-strategies.adoc index 5fc54ec060..a5dc95a378 100644 --- a/Documentation/merge-strategies.adoc +++ b/Documentation/merge-strategies.adoc @@ -56,7 +56,7 @@ ignore-cr-at-eol;; renormalize;; This runs a virtual check-out and check-in of all three stages - of a file when resolving a three-way merge. This option is + of any file which needs a three-way merge. This option is meant to be used when merging branches with different clean filters or end-of-line normalization rules. See "Merging branches with differing checkin/checkout attributes" in diff --git a/Documentation/pretty-formats.adoc b/Documentation/pretty-formats.adoc index 8ee940b6a4..07475de8c3 100644 --- a/Documentation/pretty-formats.adoc +++ b/Documentation/pretty-formats.adoc @@ -339,10 +339,10 @@ insert an empty string unless we are traversing reflog entries (e.g., by decoration format if `--decorate` was not already provided on the command line. -The boolean options accept an optional value `[=<bool-value>]`. The values -`true`, `false`, `on`, `off` etc. are all accepted. See the "boolean" -sub-section in "EXAMPLES" in linkgit:git-config[1]. If a boolean -option is given with no value, it's enabled. +The boolean options accept an optional value `[=<bool-value>]`. The +values taken by `--type=bool` git-config[1], like `yes` and `off`, +are all accepted. Giving a boolean option without `=<value>` is +equivalent to giving it with `=true`. If you add a `+` (plus sign) after '%' of a placeholder, a line-feed is inserted immediately before the expansion if and only if the |
