<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-submodule.sh, branch v2.11.4</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v2.11.4</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v2.11.4'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2016-09-22T18:22:47Z</updated>
<entry>
<title>clone: pass --progress decision to recursive submodules</title>
<updated>2016-09-22T18:22:47Z</updated>
<author>
<name>Jeff King</name>
<email>peff@peff.net</email>
</author>
<published>2016-09-22T05:24:46Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=72c5f88311dab7149fcca1f6029414ccb776fee8'/>
<id>urn:sha1:72c5f88311dab7149fcca1f6029414ccb776fee8</id>
<content type='text'>
When cloning with "--recursive", we'd generally expect
submodules to show progress reports if the main clone did,
too.

In older versions of git, this mostly worked out of the
box. Since we show progress by default when stderr is a tty,
and since the child clones inherit the parent stderr, then
both processes would come to the same decision by default.
If the parent clone was asked for "--quiet", we passed down
"--quiet" to the child. However, if stderr was not a tty and
the user specified "--progress", we did not propagate this
to the child.

That's a minor bug, but things got much worse when we
switched recently to submodule--helper's update_clone
command. With that change, the stderr of the child clones
are always connected to a pipe, and we never output
progress at all.

This patch teaches git-submodule and git-submodule--helper
how to pass down an explicit "--progress" flag when cloning.
The clone command then decides to propagate that flag based
on the cloning decision made earlier (which takes into
account isatty(2) of the parent process, existing --progress
or --quiet flags, etc). Since the child processes always run
without a tty on stderr, we don't have to worry about
passing an explicit "--no-progress"; it's the default for
them.

This fixes the recent loss of progress during recursive
clones. And as a bonus, it makes:

  git clone --recursive --progress ... 2&gt;&amp;1 | cat

work by triggering progress explicitly in the children.

Signed-off-by: Jeff King &lt;peff@peff.net&gt;
Acked-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 'sb/submodule-clone-rr'</title>
<updated>2016-09-09T04:49:50Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-09-09T04:49:50Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=02c6c14d6c304f094b680f583a1dd6e4fe75736c'/>
<id>urn:sha1:02c6c14d6c304f094b680f583a1dd6e4fe75736c</id>
<content type='text'>
"git clone --resurse-submodules --reference $path $URL" is a way to
reduce network transfer cost by borrowing objects in an existing
$path repository when cloning the superproject from $URL; it
learned to also peek into $path for presense of corresponding
repositories of submodules and borrow objects from there when able.

* sb/submodule-clone-rr:
  clone: recursive and reference option triggers submodule alternates
  clone: implement optional references
  clone: clarify option_reference as required
  clone: factor out checking for an alternate path
  submodule--helper update-clone: allow multiple references
  submodule--helper module-clone: allow multiple references
  t7408: merge short tests, factor out testing method
  t7408: modernize style
</content>
</entry>
<entry>
<title>submodule--helper update-clone: allow multiple references</title>
<updated>2016-08-12T22:00:17Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-08-11T23:14:01Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=5f50f33e875cc877747a40a80e8ead73db0ec8c1'/>
<id>urn:sha1:5f50f33e875cc877747a40a80e8ead73db0ec8c1</id>
<content type='text'>
Allow the user to pass in multiple references to update_clone.
Currently this is only internal API, but once the shell script is
replaced by a C version, this is needed.

This fixes an API bug between the shell script and the helper.
Currently the helper accepts "--reference" "--reference=foo"
as a OPT_STRING whose value happens to be "--reference=foo", and
then uses

        if (suc-&gt;reference)
                argv_array_push(&amp;child-&gt;args, suc-&gt;reference)

where suc-&gt;reference _is_ "--reference=foo" when invoking the
underlying "git clone", it cancels out.

With this change we omit one of the "--reference" arguments when
passing references from the shell script to the helper.

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 'sb/submodule-update-dot-branch'</title>
<updated>2016-08-10T19:33:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-08-10T19:33:20Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=11b53957ac81dc31668a1d8fe65d19d5f60dd501'/>
<id>urn:sha1:11b53957ac81dc31668a1d8fe65d19d5f60dd501</id>
<content type='text'>
A few updates to "git submodule update".

Use of "| wc -l" break with BSD variant of 'wc'.

* sb/submodule-update-dot-branch:
  t7406: fix breakage on OSX
  submodule update: allow '.' for branch value
  submodule--helper: add remote-branch helper
  submodule-config: keep configured branch around
  submodule--helper: fix usage string for relative-path
  submodule update: narrow scope of local variable
  submodule update: respect depth in subsequent fetches
  t7406: future proof tests with hard coded depth
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-clone-retry'</title>
<updated>2016-08-04T21:39:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-08-04T21:39:17Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=1e9a4856fb263ad8227456f9ec6b78804afe7cee'/>
<id>urn:sha1:1e9a4856fb263ad8227456f9ec6b78804afe7cee</id>
<content type='text'>
An earlier tweak to make "submodule update" retry a failing clone
of submodules was buggy and caused segfault, which has been fixed.

* sb/submodule-clone-retry:
  submodule-helper: fix indexing in clone retry error reporting path
  git-submodule: forward exit code of git-submodule--helper more faithfully
</content>
</entry>
<entry>
<title>submodule--helper: add remote-branch helper</title>
<updated>2016-08-03T23:11:35Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-08-03T20:44:03Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=92bbe7ccf1fedac825f2c6ab4c8de91dc5370fd2'/>
<id>urn:sha1:92bbe7ccf1fedac825f2c6ab4c8de91dc5370fd2</id>
<content type='text'>
In a later patch we want to enhance the logic for the branch selection.
Rewrite the current logic to be in C, so we can directly use C when
we enhance the logic.

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 update: narrow scope of local variable</title>
<updated>2016-08-01T21:41:51Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-07-29T00:44:05Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=341238ebc4c95a351db2e047a0ca2340766b48e8'/>
<id>urn:sha1:341238ebc4c95a351db2e047a0ca2340766b48e8</id>
<content type='text'>
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 update: respect depth in subsequent fetches</title>
<updated>2016-08-01T21:41:02Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-07-29T00:44:04Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6cbf454a2eaa016efff04bd696dc1ec24b515c11'/>
<id>urn:sha1:6cbf454a2eaa016efff04bd696dc1ec24b515c11</id>
<content type='text'>
When depth is given the user may have a reasonable expectation that
any remote operation is using the given depth. Add a test to demonstrate
we still get the desired sha1 even if the depth is too short to
include the actual commit.

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 'sb/submodule-deinit-all'</title>
<updated>2016-07-28T17:34:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-07-28T17:34:45Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=b8307836d2ce84fb4201a20955c78a3f472bb9fa'/>
<id>urn:sha1:b8307836d2ce84fb4201a20955c78a3f472bb9fa</id>
<content type='text'>
A comment update for a topic that was merged to Git v2.8.

* sb/submodule-deinit-all:
  submodule deinit: remove outdated comment
</content>
</entry>
<entry>
<title>submodule deinit: remove outdated comment</title>
<updated>2016-07-26T20:52:14Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-07-26T00:35:38Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=406621f43dcb91e5c38f0e1c73eab9aa5cc44843'/>
<id>urn:sha1:406621f43dcb91e5c38f0e1c73eab9aa5cc44843</id>
<content type='text'>
Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
