<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-submodule.sh, branch v2.4.11</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v2.4.11</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v2.4.11'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2015-09-23T18:35:48Z</updated>
<entry>
<title>submodule: allow only certain protocols for submodule fetches</title>
<updated>2015-09-23T18:35:48Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2015-09-16T17:13:12Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=33cfccbbf35a56e190b79bdec5c85457c952a021'/>
<id>urn:sha1:33cfccbbf35a56e190b79bdec5c85457c952a021</id>
<content type='text'>
Some protocols (like git-remote-ext) can execute arbitrary
code found in the URL. The URLs that submodules use may come
from arbitrary sources (e.g., .gitmodules files in a remote
repository). Let's restrict submodules to fetching from a
known-good subset of protocols.

Note that we apply this restriction to all submodule
commands, whether the URL comes from .gitmodules or not.
This is more restrictive than we need to be; for example, in
the tests we run:

  git submodule add ext::...

which should be trusted, as the URL comes directly from the
command line provided by the user. But doing it this way is
simpler, and makes it much less likely that we would miss a
case. And since such protocols should be an exception
(especially because nobody who clones from them will be able
to update the submodules!), it's not likely to inconvenience
anyone in practice.

Reported-by: Blake Burkhart &lt;bburky@bburky.com&gt;
Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ps/submodule-sanitize-path-upon-add' into maint</title>
<updated>2015-03-05T21:13:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-03-05T21:13:09Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=3630be2749819b79de917a77c6627e3f84c00a11'/>
<id>urn:sha1:3630be2749819b79de917a77c6627e3f84c00a11</id>
<content type='text'>
"git submodule add" failed to squash "path/to/././submodule" to
"path/to/submodule".

* ps/submodule-sanitize-path-upon-add:
  git-submodule.sh: fix '/././' path normalization
</content>
</entry>
<entry>
<title>git-submodule.sh: fix '/././' path normalization</title>
<updated>2015-02-02T20:35:16Z</updated>
<author>
<name>Patrick Steinhardt</name>
<email>ps@pks.im</email>
</author>
<published>2015-01-30T15:14:03Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=8196e728955a084303e99affff2ebc1120112516'/>
<id>urn:sha1:8196e728955a084303e99affff2ebc1120112516</id>
<content type='text'>
When we add a new submodule the path of the submodule is being
normalized. We fail to normalize multiple adjacent '/./', though.
Thus 'path/to/././submodule' will become 'path/to/./submodule' where
it should be 'path/to/submodule' instead.

Signed-off-by: Patrick Steinhardt &lt;ps@pks.im&gt;
Acked-by: Jens Lehmann &lt;Jens.Lehmann@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-submodule.sh: avoid "echo" path-like values</title>
<updated>2014-06-19T20:30:03Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-06-10T15:33:39Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6a0662304d85ffa288c960f688eb9704954ea8ee'/>
<id>urn:sha1:6a0662304d85ffa288c960f688eb9704954ea8ee</id>
<content type='text'>
SysV-derived implementation of "echo" interprets some backslash
sequences as special instruction, e.g. "echo 'ab\c'" shows an
incomplete line with 'a' and 'b' on it.  Avoid using it when showing
a path-like values in the script.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git-submodule.sh: avoid "test &lt;cond&gt; -a/-o &lt;cond&gt;"</title>
<updated>2014-06-19T20:30:03Z</updated>
<author>
<name>Elia Pinto</name>
<email>gitter.spiros@gmail.com</email>
</author>
<published>2014-06-10T12:28:33Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=496eeeb19b9c4adf743bf9acdc25d814e9c58a4e'/>
<id>urn:sha1:496eeeb19b9c4adf743bf9acdc25d814e9c58a4e</id>
<content type='text'>
The construct is error-prone; "test" being built-in in most modern
shells, the reason to avoid "test &lt;cond&gt; &amp;&amp; test &lt;cond&gt;" spawning
one extra process by using a single "test &lt;cond&gt; -a &lt;cond&gt;" no
longer exists.

Signed-off-by: Elia Pinto &lt;gitter.spiros@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'sk/submodules-absolute-path-on-windows'</title>
<updated>2014-06-06T18:26:38Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-06-06T18:26:38Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=ee8213951a36cefabed7dd653965cffb6aee628e'/>
<id>urn:sha1:ee8213951a36cefabed7dd653965cffb6aee628e</id>
<content type='text'>
* sk/submodules-absolute-path-on-windows:
  Revert "submodules: fix ambiguous absolute paths under Windows"
</content>
</entry>
<entry>
<title>Revert "submodules: fix ambiguous absolute paths under Windows"</title>
<updated>2014-05-08T20:57:11Z</updated>
<author>
<name>Stepan Kasal</name>
<email>kasal@ucw.cz</email>
</author>
<published>2014-05-08T20:36:57Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=0170a3c6ee7eba128d44dd50d0bf7a86d295c19e'/>
<id>urn:sha1:0170a3c6ee7eba128d44dd50d0bf7a86d295c19e</id>
<content type='text'>
This reverts commit 4dce7d9b408b2935b85721b54a2010eda7ec1be9,
which was originally done to help Windows but was almost
immediately reverted in msysGit, and the codebase kept this
unnecessary divergence for almost two years.

Signed-off-by: Stepan Kasal &lt;kasal@ucw.cz&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Revert "submodule: explicit local branch creation in module_clone"</title>
<updated>2014-04-02T21:15:36Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-04-02T21:15:36Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=d851ffb91f8c25f51b284cd4e849757d656de0d1'/>
<id>urn:sha1:d851ffb91f8c25f51b284cd4e849757d656de0d1</id>
<content type='text'>
This reverts commit 23d25e48f5ead73c9ce233986f90791abec9f1e8, as it is
broken for users who haven't opted into the new feature of checking
out submodule.*.branch with update mode set to checkout.
</content>
</entry>
<entry>
<title>Merge branch 'jl/doc-submodule-update-checkout'</title>
<updated>2014-03-14T21:26:58Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2014-03-14T21:26:58Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=d73e6160031e1753c81cf0d72b0f9525cf93dca0'/>
<id>urn:sha1:d73e6160031e1753c81cf0d72b0f9525cf93dca0</id>
<content type='text'>
Add missing documentation for "submodule update --checkout".

* jl/doc-submodule-update-checkout:
  submodule update: consistently document the '--checkout' option
</content>
</entry>
<entry>
<title>submodule update: consistently document the '--checkout' option</title>
<updated>2014-02-28T23:34:36Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2014-02-28T22:41:11Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=893a9764dc5e6d5d3432a47f595ffffade1edd9c'/>
<id>urn:sha1:893a9764dc5e6d5d3432a47f595ffffade1edd9c</id>
<content type='text'>
Commit 322bb6e12f (add update 'none' flag to disable update of submodule
by default) added the '--checkout' option to "git submodule update" but
forgot to explicitly document it in synopsis, usage string and man page
(It is only mentioned implicitly in the man page). In 23d25e48 (submodule:
explicit local branch creation in module_clone) the synopsis of the man
page was updated, but the "OPTIONS" section of the man page and the usage
string of the git-submodule script still do not mention the '--checkout'
option.

Fix that by documenting this option in usage string and the "OPTIONS"
section of man page too. While at it group the update-mode options into
a single set in the usage string.

Reported-by: Matthijs Kooijman &lt;matthijs@stdin.nl&gt;
Signed-off-by: Jens Lehmann &lt;Jens.Lehmann@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
