<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/git.txt, branch v2.32.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.32.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.32.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2021-05-07T03:47:39Z</updated>
<entry>
<title>Merge branch 'ps/config-global-override'</title>
<updated>2021-05-07T03:47:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-05-07T03:47:39Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e706aaf3bc8ad97877cbf21887f96c5af66c7562'/>
<id>urn:sha1:e706aaf3bc8ad97877cbf21887f96c5af66c7562</id>
<content type='text'>
Replace GIT_CONFIG_NOSYSTEM mechanism to decline from reading the
system-wide configuration file with GIT_CONFIG_SYSTEM that lets
users specify from which file to read the system-wide configuration
(setting it to an empty file would essentially be the same as
setting NOSYSTEM), and introduce GIT_CONFIG_GLOBAL to override the
per-user configuration in $HOME/.gitconfig.

* ps/config-global-override:
  t1300: fix unset of GIT_CONFIG_NOSYSTEM leaking into subsequent tests
  config: allow overriding of global and system configuration
  config: unify code paths to get global config paths
  config: rename `git_etc_config()`
</content>
</entry>
<entry>
<title>Merge branch 'ps/config-env-option-with-separate-value'</title>
<updated>2021-05-07T03:47:37Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-05-07T03:47:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5f586f55a02b98d7a2a9c770d33e8170ca563e43'/>
<id>urn:sha1:5f586f55a02b98d7a2a9c770d33e8170ca563e43</id>
<content type='text'>
"git --config-env var=val cmd" weren't accepted (only
--config-env=var=val was).

* ps/config-env-option-with-separate-value:
  git: support separate arg for `--config-env`'s value
  git.txt: fix synopsis of `--config-env` missing the equals sign
</content>
</entry>
<entry>
<title>git.txt: fix synopsis of `--config-env` missing the equals sign</title>
<updated>2021-04-30T00:46:46Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2021-04-29T12:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=9152904c1162afaf9ce0305d1988d1450dc80da7'/>
<id>urn:sha1:9152904c1162afaf9ce0305d1988d1450dc80da7</id>
<content type='text'>
When executing `git -h`, then the `--config-env` documentation rightly
lists the option as requiring an equals between the option and its
argument: this is the only currently supported format. But the git(1)
manpage incorrectly lists the option as taking a space in between.

Fix the issue by adding the missing space.

Reported-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-of-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Reviewed-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>config: allow overriding of global and system configuration</title>
<updated>2021-04-19T21:16:59Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2021-04-19T12:31:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4179b4897f2de28858acaebd6382c06c91532e98'/>
<id>urn:sha1:4179b4897f2de28858acaebd6382c06c91532e98</id>
<content type='text'>
In order to have git run in a fully controlled environment without any
misconfiguration, it may be desirable for users or scripts to override
global- and system-level configuration files. We already have a way of
doing this, which is to unset both HOME and XDG_CONFIG_HOME environment
variables and to set `GIT_CONFIG_NOGLOBAL=true`. This is quite kludgy,
and unsetting the first two variables likely has an impact on other
executables spawned by such a script.

The obvious way to fix this would be to introduce `GIT_CONFIG_NOGLOBAL`
as an equivalent to `GIT_CONFIG_NOSYSTEM`. But in the past, it has
turned out that this design is inflexible: we cannot test system-level
parsing of the git configuration in our test harness because there is no
way to change its location, so all tests run with `GIT_CONFIG_NOSYSTEM`
set.

Instead of doing the same mistake with `GIT_CONFIG_NOGLOBAL`, introduce
two new variables `GIT_CONFIG_GLOBAL` and `GIT_CONFIG_SYSTEM`:

    - If unset, git continues to use the usual locations.

    - If set to a specific path, we skip reading the normal
      configuration files and instead take the path. By setting the path
      to `/dev/null`, no configuration will be loaded for the respective
      level.

This implements the usecase where we want to execute code in a sanitized
environment without any potential misconfigurations via `/dev/null`, but
is more flexible and allows for more usecases than simply adding
`GIT_CONFIG_NOGLOBAL`.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git.txt: fix monospace rendering</title>
<updated>2021-02-18T18:53:33Z</updated>
<author>
<name>Martin Ågren</name>
<email>martin.agren@gmail.com</email>
</author>
<published>2021-02-17T19:56:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=83171ede2229b71ef46cd4d2f800c1eef27cc511'/>
<id>urn:sha1:83171ede2229b71ef46cd4d2f800c1eef27cc511</id>
<content type='text'>
When we write `&lt;name&gt;`s with the "s" tucked on to the closing backtick,
we end up rendering the backticks literally. Rephrase this sentence
slightly to render this as monospace.

Signed-off-by: Martin Ågren &lt;martin.agren@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/config-env-pairs'</title>
<updated>2021-01-25T22:19:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2021-01-25T22:19:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=294e949fa2dfd43097b2b5614470a3e43604663d'/>
<id>urn:sha1:294e949fa2dfd43097b2b5614470a3e43604663d</id>
<content type='text'>
Introduce two new ways to feed configuration variable-value pairs
via environment variables, and tweak the way GIT_CONFIG_PARAMETERS
encodes variable/value pairs to make it more robust.

* ps/config-env-pairs:
  config: allow specifying config entries via envvar pairs
  environment: make `getenv_safe()` a public function
  config: store "git -c" variables using more robust format
  config: parse more robust format in GIT_CONFIG_PARAMETERS
  config: extract function to parse config pairs
  quote: make sq_dequote_step() a public function
  config: add new way to pass config via `--config-env`
  git: add `--super-prefix` to usage string
</content>
</entry>
<entry>
<title>config: add new way to pass config via `--config-env`</title>
<updated>2021-01-12T20:03:18Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2021-01-12T12:26:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ce81b1da230cf04e231ce337c2946c0671ffb303'/>
<id>urn:sha1:ce81b1da230cf04e231ce337c2946c0671ffb303</id>
<content type='text'>
While it's already possible to pass runtime configuration via `git -c
&lt;key&gt;=&lt;value&gt;`, it may be undesirable to use when the value contains
sensitive information. E.g. if one wants to set `http.extraHeader` to
contain an authentication token, doing so via `-c` would trivially leak
those credentials via e.g. ps(1), which typically also shows command
arguments.

To enable this usecase without leaking credentials, this commit
introduces a new switch `--config-env=&lt;key&gt;=&lt;envvar&gt;`. Instead of
directly passing a value for the given key, it instead allows the user
to specify the name of an environment variable. The value of that
variable will then be used as value of the key.

Co-authored-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git.txt: fix typos in 'linkgit' macro invocation</title>
<updated>2020-12-22T20:02:29Z</updated>
<author>
<name>Philippe Blain</name>
<email>levraiphilippeblain@gmail.com</email>
</author>
<published>2020-12-22T15:44:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5bed7f66c4ceff98be490c0550166a6ab8584c2b'/>
<id>urn:sha1:5bed7f66c4ceff98be490c0550166a6ab8584c2b</id>
<content type='text'>
The 'linkgit' Asciidoc macro is misspelled as 'linkit' in the
description of 'GIT_SEQUENCE_EDITOR' since the addition of that variable
to git(1) in 902a126eca (doc: mention GIT_SEQUENCE_EDITOR and
'sequence.editor' more, 2020-08-31). Also, it uses two colons instead of
one.

Fix that.

Signed-off-by: Philippe Blain &lt;levraiphilippeblain@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>refs: add GIT_TRACE_REFS debugging mechanism</title>
<updated>2020-09-09T19:58:37Z</updated>
<author>
<name>Han-Wen Nienhuys</name>
<email>hanwen@google.com</email>
</author>
<published>2020-09-09T10:15:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4441f4270758042cc38ce8c04e4350ada743b28a'/>
<id>urn:sha1:4441f4270758042cc38ce8c04e4350ada743b28a</id>
<content type='text'>
When set in the environment, GIT_TRACE_REFS makes git print operations and
results as they flow through the ref storage backend. This helps debug
discrepancies between different ref backends.

Example:

    $ GIT_TRACE_REFS="1" ./git branch
    15:42:09.769631 refs/debug.c:26         ref_store for .git
    15:42:09.769681 refs/debug.c:249        read_raw_ref: HEAD: 0000000000000000000000000000000000000000 (=&gt; refs/heads/ref-debug) type 1: 0
    15:42:09.769695 refs/debug.c:249        read_raw_ref: refs/heads/ref-debug: 3a238e539bcdfe3f9eb5010fd218640c1b499f7a (=&gt; refs/heads/ref-debug) type 0: 0
    15:42:09.770282 refs/debug.c:233        ref_iterator_begin: refs/heads/ (0x1)
    15:42:09.770290 refs/debug.c:189        iterator_advance: refs/heads/b4 (0)
    15:42:09.770295 refs/debug.c:189        iterator_advance: refs/heads/branch3 (0)

Signed-off-by: Han-Wen Nienhuys &lt;hanwen@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'pb/doc-external-diff-env'</title>
<updated>2020-09-03T19:37:09Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2020-09-03T19:37:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cd332b2a319f00db18b91201cc9a6fafc6adf649'/>
<id>urn:sha1:cd332b2a319f00db18b91201cc9a6fafc6adf649</id>
<content type='text'>
Doc update.

* pb/doc-external-diff-env:
  git.txt: correct stale 'GIT_EXTERNAL_DIFF' description
</content>
</entry>
</feed>
