<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-submodule.sh, branch v2.7.3</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.7.3</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.7.3'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2015-10-05T20:20:08Z</updated>
<entry>
<title>Sync with 2.6.1</title>
<updated>2015-10-05T20:20:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-05T19:46:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=590f6e4235a7d44ad39511186ca8bbac02ae8c2e'/>
<id>urn:sha1:590f6e4235a7d44ad39511186ca8bbac02ae8c2e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-helper'</title>
<updated>2015-10-05T19:30:19Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-10-05T19:30:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=65e1449614d3af34a022007cd335d0e563dea721'/>
<id>urn:sha1:65e1449614d3af34a022007cd335d0e563dea721</id>
<content type='text'>
The infrastructure to rewrite "git submodule" in C is being built
incrementally.  Let's polish these early parts well enough and make
them graduate to 'next' and 'master', so that the more involved
follow-up can start cooking on a solid ground.

* sb/submodule-helper:
  submodule: rewrite `module_clone` shell function in C
  submodule: rewrite `module_name` shell function in C
  submodule: rewrite `module_list` shell function in C
</content>
</entry>
<entry>
<title>Sync with 2.4.10</title>
<updated>2015-09-28T22:33:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-09-28T22:33:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=11a458befcd7662fbe6d2d53c76d49ae2b0fe219'/>
<id>urn:sha1:11a458befcd7662fbe6d2d53c76d49ae2b0fe219</id>
<content type='text'>
</content>
</entry>
<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://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 'ah/submodule-typofix-in-error' into maint</title>
<updated>2015-09-17T19:11:08Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-09-17T19:11:06Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=cfc3e0ee4a01873b50c080560c519762491cd60a'/>
<id>urn:sha1:cfc3e0ee4a01873b50c080560c519762491cd60a</id>
<content type='text'>
Error string fix.

* ah/submodule-typofix-in-error:
  git-submodule: remove extraneous space from error message
</content>
</entry>
<entry>
<title>submodule: rewrite `module_clone` shell function in C</title>
<updated>2015-09-08T22:48:21Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2015-09-08T18:57:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ee8838d157761acf4cc38f2378277dc894c10eb0'/>
<id>urn:sha1:ee8838d157761acf4cc38f2378277dc894c10eb0</id>
<content type='text'>
This reimplements the helper function `module_clone` in shell
in C as `clone`. This functionality is needed for converting
`git submodule update` later on, which we want to add threading
to.

Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>submodule: rewrite `module_name` shell function in C</title>
<updated>2015-09-03T21:12:40Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2015-09-02T21:42:25Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=0ea306ef1701d6f42e74d3c33addfcd630248904'/>
<id>urn:sha1:0ea306ef1701d6f42e74d3c33addfcd630248904</id>
<content type='text'>
This implements the helper `name` in C instead of shell,
yielding a nice performance boost.

Before this patch, I measured a time (best out of three):

  $ time ./t7400-submodule-basic.sh  &gt;/dev/null
    real	0m11.066s
    user	0m3.348s
    sys	0m8.534s

With this patch applied I measured (also best out of three)

  $ time ./t7400-submodule-basic.sh  &gt;/dev/null
    real	0m10.063s
    user	0m3.044s
    sys	0m7.487s

Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>submodule: rewrite `module_list` shell function in C</title>
<updated>2015-09-03T21:12:40Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2015-09-02T21:42:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=74703a1e4dfc5affcb8944e78b53f0817b492246'/>
<id>urn:sha1:74703a1e4dfc5affcb8944e78b53f0817b492246</id>
<content type='text'>
Most of the submodule operations work on a set of submodules.
Calculating and using this set is usually done via:

       module_list "$@" | {
           while read mode sha1 stage sm_path
           do
                # the actual operation
           done
       }

Currently the function `module_list` is implemented in the
git-submodule.sh as a shell script wrapping a perl script.
The rewrite is in C, such that it is faster and can later be
easily adapted when other functions are rewritten in C.

git-submodule.sh, similar to the builtin commands, will navigate
to the top-most directory of the repository and keep the
subdirectory as a variable. As the helper is called from
within the git-submodule.sh script, we are already navigated
to the root level, but the path arguments are still relative
to the subdirectory we were in when calling git-submodule.sh.
That's why there is a `--prefix` option pointing to an alternative
path which to anchor relative path arguments.

Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'ah/submodule-typofix-in-error'</title>
<updated>2015-09-01T23:31:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2015-09-01T23:31:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=2953140a6593c14d68ef2dbd5efaccb0d59da925'/>
<id>urn:sha1:2953140a6593c14d68ef2dbd5efaccb0d59da925</id>
<content type='text'>
Error string fix.

* ah/submodule-typofix-in-error:
  git-submodule: remove extraneous space from error message
</content>
</entry>
<entry>
<title>git-submodule: remove extraneous space from error message</title>
<updated>2015-08-28T18:57:24Z</updated>
<author>
<name>Alex Henrie</name>
<email>alexhenrie24@gmail.com</email>
</author>
<published>2015-08-27T04:26:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b80fa842ed5029853f7f1fb6bdc9171257b1db55'/>
<id>urn:sha1:b80fa842ed5029853f7f1fb6bdc9171257b1db55</id>
<content type='text'>
Signed-off-by: Alex Henrie &lt;alexhenrie24@gmail.com&gt;
Acked-by: Chris Packham &lt;judge.packham@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
