aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2025-03-12 11:55:05 -0700
committerJunio C Hamano <gitster@pobox.com>2025-03-12 11:55:05 -0700
commit7c42ab2c92a54adf0573de36ea29e5bcb819c7da (patch)
treeead8ff7ad6d5b3b42d30ca3dc34f0f1cd69126c3 /Documentation
parentb838bf1938926a7a900166136d995d86f8a00e24 (diff)
parent87d297f48367737444810f8c3e76ef88cb6aa4e3 (diff)
downloadgit-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/Makefile5
-rw-r--r--Documentation/RelNotes/2.49.0.adoc27
-rw-r--r--Documentation/config/http.adoc15
-rw-r--r--Documentation/config/merge.adoc3
-rw-r--r--Documentation/git-commit.adoc8
-rw-r--r--Documentation/git-config.adoc4
-rw-r--r--Documentation/git-merge-tree.adoc11
-rw-r--r--Documentation/git-rebase.adoc8
-rw-r--r--Documentation/git.adoc5
-rw-r--r--Documentation/gitattributes.adoc4
-rw-r--r--Documentation/merge-strategies.adoc2
-rw-r--r--Documentation/pretty-formats.adoc8
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