<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/Documentation/git.txt, branch v2.40.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.40.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.40.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2024-04-19T10:38:37Z</updated>
<entry>
<title>Sync with 2.39.4</title>
<updated>2024-04-19T10:38:37Z</updated>
<author>
<name>Johannes Schindelin</name>
<email>johannes.schindelin@gmx.de</email>
</author>
<published>2024-04-12T07:45:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=93a88f42db7ed9a975768df0e5f4516317c50dda'/>
<id>urn:sha1:93a88f42db7ed9a975768df0e5f4516317c50dda</id>
<content type='text'>
* maint-2.39: (38 commits)
  Git 2.39.4
  fsck: warn about symlink pointing inside a gitdir
  core.hooksPath: add some protection while cloning
  init.templateDir: consider this config setting protected
  clone: prevent hooks from running during a clone
  Add a helper function to compare file contents
  init: refactor the template directory discovery into its own function
  find_hook(): refactor the `STRIP_EXTENSION` logic
  clone: when symbolic links collide with directories, keep the latter
  entry: report more colliding paths
  t5510: verify that D/F confusion cannot lead to an RCE
  submodule: require the submodule path to contain directories only
  clone_submodule: avoid using `access()` on directories
  submodules: submodule paths must not contain symlinks
  clone: prevent clashing git dirs when cloning submodule in parallel
  t7423: add tests for symlinked submodule directories
  has_dir_name(): do not get confused by characters &lt; '/'
  docs: document security issues around untrusted .git dirs
  upload-pack: disable lazy-fetching by default
  fetch/clone: detect dubious ownership of local repositories
  ...
</content>
</entry>
<entry>
<title>docs: document security issues around untrusted .git dirs</title>
<updated>2024-04-17T20:29:57Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2024-04-16T08:52:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=e69ac42fcc866d3d6f84ea42bc656673440a07f5'/>
<id>urn:sha1:e69ac42fcc866d3d6f84ea42bc656673440a07f5</id>
<content type='text'>
For a long time our general philosophy has been that it's unsafe to run
arbitrary Git commands if you don't trust the hooks or config in .git,
but that running upload-pack should be OK. E.g., see 1456b043fc (Remove
post-upload-hook, 2009-12-10), or the design of uploadpack.packObjectsHook.

But we never really documented this (and even the discussions that led
to 1456b043fc were not on the public list!). Let's try to make our
approach more clear, but also be realistic that even upload-pack carries
some risk.

Helped-by: Filip Hejsek &lt;filip.hejsek@gmail.com&gt;
Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Johannes Schindelin &lt;johannes.schindelin@gmx.de&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ar/markup-em-dash'</title>
<updated>2023-01-30T22:24:24Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2023-01-30T22:24:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a5eaa76b30db6ebec5141e6f6cab78db3402e85b'/>
<id>urn:sha1:a5eaa76b30db6ebec5141e6f6cab78db3402e85b</id>
<content type='text'>
Doc mark-up updates.

* ar/markup-em-dash:
  Documentation: render dash correctly
</content>
</entry>
<entry>
<title>Documentation: render dash correctly</title>
<updated>2023-01-23T17:40:14Z</updated>
<author>
<name>Andrei Rybak</name>
<email>rybak.a.v@gmail.com</email>
</author>
<published>2023-01-23T09:01:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=70661d288b696578f18b56cea1beaa51497da88d'/>
<id>urn:sha1:70661d288b696578f18b56cea1beaa51497da88d</id>
<content type='text'>
Three hyphens are rendered verbatim in documentation, so "--" has to be
used to produce a dash.  Fix asciidoc output for dashes.  This is
similar to previous commits f0b922473e (Documentation: render special
characters correctly, 2021-07-29) and de82095a95 (doc
hash-function-transition: fix asciidoc output, 2021-02-05).

Signed-off-by: Andrei Rybak &lt;rybak.a.v@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>read-tree: add "--super-prefix" option, eliminate global</title>
<updated>2022-12-26T01:21:44Z</updated>
<author>
<name>Ævar Arnfjörð Bjarmason</name>
<email>avarab@gmail.com</email>
</author>
<published>2022-12-20T12:39:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4002ec3dcf0f89db46fbdf56549218c573a9c0f2'/>
<id>urn:sha1:4002ec3dcf0f89db46fbdf56549218c573a9c0f2</id>
<content type='text'>
The "--super-prefix" option to "git" was initially added in [1] for
use with "ls-files"[2], and shortly thereafter "submodule--helper"[3]
and "grep"[4]. It wasn't until [5] that "read-tree" made use of it.

At the time [5] made sense, but since then we've made "ls-files"
recurse in-process in [6], "grep" in [7], and finally
"submodule--helper" in the preceding commits.

Let's also remove it from "read-tree", which allows us to remove the
option to "git" itself.

We can do this because the only remaining user of it is the submodule
API, which will now invoke "read-tree" with its new "--super-prefix"
option. It will only do so when the "submodule_move_head()" function
is called.

That "submodule_move_head()" function was then only invoked by
"read-tree" itself, but now rather than setting an environment
variable to pass "--super-prefix" between cmd_read_tree() we:

- Set a new "super_prefix" in "struct unpack_trees_options". The
  "super_prefixed()" function in "unpack-trees.c" added in [5] will now
  use this, rather than get_super_prefix() looking up the environment
  variable we set earlier in the same process.

- Add the same field to the "struct checkout", which is only needed to
  ferry the "super_prefix" in the "struct unpack_trees_options" all the
  way down to the "entry.c" callers of "submodule_move_head()".

  Those calls which used the super prefix all originated in
  "cmd_read_tree()". The only other caller is the "unlink_entry()"
  caller in "builtin/checkout.c", which now passes a "NULL".

1. 74866d75793 (git: make super-prefix option, 2016-10-07)
2. e77aa336f11 (ls-files: optionally recurse into submodules, 2016-10-07)
3. 89c86265576 (submodule helper: support super prefix, 2016-12-08)
4. 0281e487fd9 (grep: optionally recurse into submodules, 2016-12-16)
5. 3d415425c7b (unpack-trees: support super-prefix option, 2017-01-17)
6. 188dce131fa (ls-files: use repository object, 2017-06-22)
7. f9ee2fcdfa0 (grep: recurse in-process using 'struct repository', 2017-08-02)

Signed-off-by: Ævar Arnfjörð Bjarmason &lt;avarab@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/environ-docs'</title>
<updated>2022-10-10T17:08:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-10-10T17:08:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=a1fdfb09754cc477cd5134b064b0f0598ffb8713'/>
<id>urn:sha1:a1fdfb09754cc477cd5134b064b0f0598ffb8713</id>
<content type='text'>
Documentation on various Boolean GIT_* environment variables have
been clarified.

* jc/environ-docs:
  environ: GIT_INDEX_VERSION affects not just a new repository
  environ: simplify description of GIT_INDEX_FILE
  environ: GIT_FLUSH should be made a usual Boolean
  environ: explain Boolean environment variables
  environ: document GIT_SSL_NO_VERIFY
</content>
</entry>
<entry>
<title>Documentation: clean up a few misspelled word typos</title>
<updated>2022-09-21T17:28:35Z</updated>
<author>
<name>Jacob Stopak</name>
<email>jacob@initialcommit.io</email>
</author>
<published>2022-09-20T02:45:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=72991ff558585490aa4284c0b8ca1f13e86f0f18'/>
<id>urn:sha1:72991ff558585490aa4284c0b8ca1f13e86f0f18</id>
<content type='text'>
Used GNU "aspell check &lt;filename&gt;" to review various documentation
files with the default aspell dictionary. Ignored false-positives
between american and british english.

Signed-off-by: Jacob Stopak &lt;jacob@initialcommit.io&gt;
Reviewed-by: Eric Sunshine &lt;sunshine@sunshineco.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>environ: GIT_INDEX_VERSION affects not just a new repository</title>
<updated>2022-09-16T16:45:22Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-15T16:06:59Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=819fb682225e096096b05c4a3aff16ebcabfcfd4'/>
<id>urn:sha1:819fb682225e096096b05c4a3aff16ebcabfcfd4</id>
<content type='text'>
The variable is consulted whenever we write the index file.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>environ: simplify description of GIT_INDEX_FILE</title>
<updated>2022-09-16T16:45:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-15T16:06:58Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b724df6b559d895b035cafa6f7e55216f581f7c1'/>
<id>urn:sha1:b724df6b559d895b035cafa6f7e55216f581f7c1</id>
<content type='text'>
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>environ: GIT_FLUSH should be made a usual Boolean</title>
<updated>2022-09-15T18:34:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2022-09-15T16:06:57Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=fd01795beb1bda7aa738b443bcb01cc9df70059a'/>
<id>urn:sha1:fd01795beb1bda7aa738b443bcb01cc9df70059a</id>
<content type='text'>
This uses atoi() and checks if the result is not zero to decide what
to do.  Turning it into the usual Boolean environment variable to
use git_env_bool() would not break those who have been using "set to
0, or set to non-zero, that can be parsed with atoi()" values, but
will match the expectation of those who expected "true" to mean
"yes".

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
