Autogenerated HTML docs for v2.48.1-91-g5f8f7
diff --git a/RelNotes/2.49.0.txt b/RelNotes/2.49.0.txt
index 26fe1a0..bc82217 100644
--- a/RelNotes/2.49.0.txt
+++ b/RelNotes/2.49.0.txt
@@ -48,8 +48,30 @@
diagnosed as an error, which has been corrected.
(merge ca7158076f jt/fsck-skiplist-parse-fix later to maint).
+ * Extended SHA-1 expression parser did not work well when a branch
+ with an unusual name (e.g. "foo{bar") is involved.
+ (merge 191f0c8db2 en/object-name-with-funny-refname-fix later to maint).
+
+ * The meson build procedure looked for the 'version-def.h' file in a
+ wrong directory, which has been corrected.
+ (merge 4771501c0a tc/meson-use-our-version-def-h later to maint).
+
+ * The meson build procedure for Documentation/technical/ hierarchy was
+ missing necessary dependencies, which has been corrected.
+ (merge 1dca492edd sj/meson-doc-technical-dependency-fix later to maint).
+
+ * The "instaweb" bound only to local IP address without "--local" and
+ to all addresses with "--local", which was the other way around, when
+ using Python's http.server class, which has been corrected.
+ (merge 76baf97fa1 ak/instaweb-python-port-binding-fix later to maint).
+
+ * Document that it is insecure to use Personal Access Tokens, which
+ some hosting providers take as username/password, embedded in URLs.
+ (merge a90ff409f0 mh/doc-credential-helpers-with-pat later to maint).
+
* 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).
(merge 6a63995335 mh/gitattr-doc-markup-fix later to maint).
(merge 43850dcf9c sk/unit-test-hash later to maint).
+ (merge 4ad47d2de3 jc/cli-doc-option-and-config later to maint).
diff --git a/git-credential-cache.html b/git-credential-cache.html
index 21d48a7..1d84108 100644
--- a/git-credential-cache.html
+++ b/git-credential-cache.html
@@ -545,6 +545,28 @@
</div>
</div>
<div class="sect1">
+<h2 id="_personal_access_tokens">PERSONAL ACCESS TOKENS</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Some remotes accept personal access tokens, which are randomly
+generated and hard to memorise. They typically have a lifetime of weeks
+or months.</p>
+</div>
+<div class="paragraph">
+<p>git-credential-cache is inherently unsuitable for persistent storage of
+personal access tokens. The credential will be forgotten after the cache
+timeout. Even if you configure a long timeout, credentials will be
+forgotten if the daemon dies.</p>
+</div>
+<div class="paragraph">
+<p>To avoid frequently regenerating personal access tokens, configure a
+credential helper with persistent storage. Alternatively, configure an
+OAuth credential helper to generate credentials automatically. See
+<a href="gitcredentials.html">gitcredentials(7)</a>, sections "Available helpers" and "OAuth".</p>
+</div>
+</div>
+</div>
+<div class="sect1">
<h2 id="_git">GIT</h2>
<div class="sectionbody">
<div class="paragraph">
@@ -555,7 +577,7 @@
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2023-10-23 14:43:46 -0700
+Last updated 2025-01-24 09:50:22 -0800
</div>
</div>
</body>
diff --git a/git-credential-cache.txt b/git-credential-cache.txt
index 487cc55..54fa7a2 100644
--- a/git-credential-cache.txt
+++ b/git-credential-cache.txt
@@ -78,6 +78,23 @@
$ git config credential.helper 'cache --timeout=3600'
-------------------------------------------------------
+PERSONAL ACCESS TOKENS
+----------------------
+
+Some remotes accept personal access tokens, which are randomly
+generated and hard to memorise. They typically have a lifetime of weeks
+or months.
+
+git-credential-cache is inherently unsuitable for persistent storage of
+personal access tokens. The credential will be forgotten after the cache
+timeout. Even if you configure a long timeout, credentials will be
+forgotten if the daemon dies.
+
+To avoid frequently regenerating personal access tokens, configure a
+credential helper with persistent storage. Alternatively, configure an
+OAuth credential helper to generate credentials automatically. See
+linkgit:gitcredentials[7], sections "Available helpers" and "OAuth".
+
GIT
---
Part of the linkgit:git[1] suite
diff --git a/gitcli.html b/gitcli.html
index a59cda8..790e93b 100644
--- a/gitcli.html
+++ b/gitcli.html
@@ -646,6 +646,24 @@
</div>
</div>
<div class="sect2">
+<h3 id="_options_trump_configuration_and_environment">Options trump configuration and environment</h3>
+<div class="paragraph">
+<p>When there is a configuration variable or an environment variable
+that tweak the behaviour of an aspect of a Git command, and also a
+command line option that tweaks the same, the command line option
+overrides what the configuration and/or environment variable say.</p>
+</div>
+<div class="paragraph">
+<p>For example, the <code>user.name</code> configuration variable is used to
+specify the human-readable name used by the <code>git</code> <code>commit</code> command to
+record the author and the committer name in a newly created commit.
+The <code>GIT_AUTHOR_NAME</code> environment variable, if set, takes precedence
+when deciding what author name to record. The <code>--author=</code><em><author></em>
+command line option of the <code>git</code> <code>commit</code> command, when given, takes
+precedence over these two sources of information.</p>
+</div>
+</div>
+<div class="sect2">
<h3 id="_aggregating_short_options">Aggregating short options</h3>
<div class="paragraph">
<p>Commands that support the enhanced option parser allow you to aggregate short
@@ -770,7 +788,7 @@
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2025-01-06 10:22:55 -0800
+Last updated 2025-01-24 09:50:22 -0800
</div>
</div>
</body>
diff --git a/gitcli.txt b/gitcli.txt
index fcd86d2..04193ec 100644
--- a/gitcli.txt
+++ b/gitcli.txt
@@ -161,6 +161,23 @@
and `--no-color`.
+Options trump configuration and environment
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+When there is a configuration variable or an environment variable
+that tweak the behaviour of an aspect of a Git command, and also a
+command line option that tweaks the same, the command line option
+overrides what the configuration and/or environment variable say.
+
+For example, the `user.name` configuration variable is used to
+specify the human-readable name used by the `git commit` command to
+record the author and the committer name in a newly created commit.
+The `GIT_AUTHOR_NAME` environment variable, if set, takes precedence
+when deciding what author name to record. The `--author=<author>`
+command line option of the `git commit` command, when given, takes
+precedence over these two sources of information.
+
+
Aggregating short options
~~~~~~~~~~~~~~~~~~~~~~~~~
Commands that support the enhanced option parser allow you to aggregate short
diff --git a/gitcredentials.html b/gitcredentials.html
index ca64195..7fa1daa 100644
--- a/gitcredentials.html
+++ b/gitcredentials.html
@@ -537,22 +537,7 @@
some API.</p>
</div>
<div class="paragraph">
-<p>To use a helper, you must first select one to use. Git currently
-includes the following helpers:</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">cache</dt>
-<dd>
-<p>Cache credentials in memory for a short period of time. See
-<a href="git-credential-cache.html">git-credential-cache(1)</a> for details.</p>
-</dd>
-<dt class="hdlist1">store</dt>
-<dd>
-<p>Store credentials indefinitely on disk. See
-<a href="git-credential-store.html">git-credential-store(1)</a> for details.</p>
-</dd>
-</dl>
+<p>To use a helper, you must first select one to use (see below for a list).</p>
</div>
<div class="paragraph">
<p>You may also have third-party helpers installed; search for
@@ -593,6 +578,42 @@
<div class="sect2">
<h3 id="_available_helpers">Available helpers</h3>
<div class="paragraph">
+<p>Git currently includes the following helpers:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">cache</dt>
+<dd>
+<p>Cache credentials in memory for a short period of time. See
+<a href="git-credential-cache.html">git-credential-cache(1)</a> for details.</p>
+</dd>
+<dt class="hdlist1">store</dt>
+<dd>
+<p>Store credentials indefinitely on disk. See
+<a href="git-credential-store.html">git-credential-store(1)</a> for details.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>Popular helpers with secure persistent storage include:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>git-credential-libsecret (Linux)</p>
+</li>
+<li>
+<p>git-credential-osxkeychain (macOS)</p>
+</li>
+<li>
+<p>git-credential-wincred (Windows)</p>
+</li>
+<li>
+<p><a href="https://github.com/git-ecosystem/git-credential-manager">Git Credential Manager</a> (cross platform, included in Git for Windows)</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
<p>The community maintains a comprehensive list of Git credential helpers at
<a href="https://git-scm.com/doc/credential-helpers" class="bare">https://git-scm.com/doc/credential-helpers</a>.</p>
</div>
@@ -605,6 +626,19 @@
host. Subsequent authentication happens in the background. Many popular Git
hosts support OAuth.</p>
</div>
+<div class="paragraph">
+<p>Popular helpers with OAuth support include:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://github.com/git-ecosystem/git-credential-manager">Git Credential Manager</a> (cross platform, included in Git for Windows)</p>
+</li>
+<li>
+<p><a href="https://github.com/hickford/git-credential-oauth">git-credential-oauth</a> (cross platform, included in many Linux distributions)</p>
+</li>
+</ul>
+</div>
</div>
</div>
</div>
@@ -864,7 +898,7 @@
</div>
<div id="footer">
<div id="footer-text">
-Last updated 2024-12-10 04:07:44 -0800
+Last updated 2025-01-24 09:50:22 -0800
</div>
</div>
</body>
diff --git a/gitcredentials.txt b/gitcredentials.txt
index 35a7452..3337bb4 100644
--- a/gitcredentials.txt
+++ b/gitcredentials.txt
@@ -66,18 +66,7 @@
credential-generating helper might generate credentials for certain servers via
some API.
-To use a helper, you must first select one to use. Git currently
-includes the following helpers:
-
-cache::
-
- Cache credentials in memory for a short period of time. See
- linkgit:git-credential-cache[1] for details.
-
-store::
-
- Store credentials indefinitely on disk. See
- linkgit:git-credential-store[1] for details.
+To use a helper, you must first select one to use (see below for a list).
You may also have third-party helpers installed; search for
`credential-*` in the output of `git help -a`, and consult the
@@ -106,6 +95,28 @@
=== Available helpers
+Git currently includes the following helpers:
+
+cache::
+
+ Cache credentials in memory for a short period of time. See
+ linkgit:git-credential-cache[1] for details.
+
+store::
+
+ Store credentials indefinitely on disk. See
+ linkgit:git-credential-store[1] for details.
+
+Popular helpers with secure persistent storage include:
+
+ - git-credential-libsecret (Linux)
+
+ - git-credential-osxkeychain (macOS)
+
+ - git-credential-wincred (Windows)
+
+ - https://github.com/git-ecosystem/git-credential-manager[Git Credential Manager] (cross platform, included in Git for Windows)
+
The community maintains a comprehensive list of Git credential helpers at
https://git-scm.com/doc/credential-helpers.
@@ -116,6 +127,12 @@
host. Subsequent authentication happens in the background. Many popular Git
hosts support OAuth.
+Popular helpers with OAuth support include:
+
+ - https://github.com/git-ecosystem/git-credential-manager[Git Credential Manager] (cross platform, included in Git for Windows)
+
+ - https://github.com/hickford/git-credential-oauth[git-credential-oauth] (cross platform, included in many Linux distributions)
+
CREDENTIAL CONTEXTS
-------------------