<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/t/t7400-submodule-basic.sh, branch v2.9.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.9.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.9.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2016-05-17T21:38:20Z</updated>
<entry>
<title>Merge branch 'sb/submodule-deinit-all'</title>
<updated>2016-05-17T21:38:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-05-17T21:38:19Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=21b2e60400754732bd509f393b3368f9fa530602'/>
<id>urn:sha1:21b2e60400754732bd509f393b3368f9fa530602</id>
<content type='text'>
Correct faulty recommendation to use "git submodule deinit ." when
de-initialising all submodules, which would result in a strange
error message in a pathological corner case.

* sb/submodule-deinit-all:
  submodule deinit: require '--all' instead of '.' for all submodules
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-init'</title>
<updated>2016-05-17T21:38:17Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-05-17T21:38:16Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f2c96ceb57afd8c64c3e3e656f9390c95e9fbec9'/>
<id>urn:sha1:f2c96ceb57afd8c64c3e3e656f9390c95e9fbec9</id>
<content type='text'>
Update of "git submodule" to move pieces of logic to C continues.

* sb/submodule-init:
  submodule init: redirect stdout to stderr
  submodule--helper update-clone: abort gracefully on missing .gitmodules
  submodule init: fail gracefully with a missing .gitmodules file
  submodule: port init from shell to C
  submodule: port resolve_relative_url from shell to C
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-module-list-pathspec-fix'</title>
<updated>2016-05-13T20:18:28Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-05-13T20:18:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=4f5067010d16937e040039d9aec4b16920f7d210'/>
<id>urn:sha1:4f5067010d16937e040039d9aec4b16920f7d210</id>
<content type='text'>
* sb/submodule-module-list-pathspec-fix:
  submodule deinit test: fix broken &amp;&amp; chain in subshell
</content>
</entry>
<entry>
<title>submodule deinit: require '--all' instead of '.' for all submodules</title>
<updated>2016-05-05T21:51:26Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-05-05T19:52:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f6a527997743b79d6986a16313a7488cfc53d123'/>
<id>urn:sha1:f6a527997743b79d6986a16313a7488cfc53d123</id>
<content type='text'>
The discussion in [1] pointed out that '.' is a faulty suggestion as
there is a corner case where it fails:

&gt; "submodule deinit ." may have "worked" in the sense that you would
&gt; have at least one path in your tree and avoided this "nothing
&gt; matches" most of the time.  It would have still failed with the
&gt; exactly same error if run in an empty repository, i.e.
&gt;
&gt;        $ E=/var/tmp/x/empty &amp;&amp; rm -fr "$E" &amp;&amp; mkdir -p "$E" &amp;&amp; cd "$E"
&gt;        $ git init
&gt;        $ rungit v2.6.6 submodule deinit .
&gt;        error: pathspec '.' did not match any file(s) known to git.
&gt;        Did you forget to 'git add'?
&gt;        $ &gt;file &amp;&amp; git add file
&gt;        $ rungit v2.6.6 submodule deinit .
&gt;        $ echo $?
&gt;        0

So instead of a pathspec add the '--all' option to deinit all submodules
and add a test to check for the corner case of an empty repository.

The code only needs to learn about the '--all' option and doesn't
require further changes as `git submodule--helper list "$@"` will list
all submodules when "$@" is empty.

[1] http://news.gmane.org/gmane.comp.version-control.git/289535

Helped-by: Junio C Hamano &lt;gitster@pobox.com&gt;
Signed-off-by: Stefan Beller &lt;sbeller@google.com&gt;
Reviewed-by: Jonathan Nieder &lt;jrnieder@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>submodule deinit test: fix broken &amp;&amp; chain in subshell</title>
<updated>2016-05-03T16:16:41Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-05-02T22:24:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=14544dd215360343d9cc70c3675b9479c871a1ae'/>
<id>urn:sha1:14544dd215360343d9cc70c3675b9479c871a1ae</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--helper update-clone: abort gracefully on missing .gitmodules</title>
<updated>2016-04-29T17:07:13Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-04-28T20:02:46Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=08fdbdb153c138f0a2dc85949475fafb20853d96'/>
<id>urn:sha1:08fdbdb153c138f0a2dc85949475fafb20853d96</id>
<content type='text'>
When there is no .gitmodules file availabe to initialize a submodule
from, `submodule_from_path` just returns NULL. We need to check for
that and abort gracefully.

When `git submodule update` was implemented in shell, this error out
with the warning

    Submodule path '%s' not initialized
    Maybe you want to use 'update --init'?

Replicate that behavior for now instead of crashing.

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 init: fail gracefully with a missing .gitmodules file</title>
<updated>2016-04-29T17:05:24Z</updated>
<author>
<name>Stefan Beller</name>
<email>sbeller@google.com</email>
</author>
<published>2016-04-28T20:02:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d92028a575dde9c325e23f89c3d2b24f13868c57'/>
<id>urn:sha1:d92028a575dde9c325e23f89c3d2b24f13868c57</id>
<content type='text'>
When there is no .gitmodules file availabe to initialize a submodule
from, `submodule_from_path` just returns NULL. We need to check for
that and abort gracefully. When `submodule init` was implemented in shell,
a missing .gitmodules file would result in an error message

    No url found for submodule path '%s' in .gitmodules

Replicate that error message for now.

When the .gitmodules file is missing we can probably fail even earlier
for all of the submodules with an improved error message.

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-helper-clone-regression-fix'</title>
<updated>2016-04-22T22:45:04Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-04-22T22:45:03Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=deef3cdc08eb16354d16da0813585d60d5f34412'/>
<id>urn:sha1:deef3cdc08eb16354d16da0813585d60d5f34412</id>
<content type='text'>
A partial rewrite of "git submodule" in the 2.7 timeframe changed
the way the gitdir: pointer in the submodules point at the real
repository location to use absolute paths by accident.  This has
been corrected.

* sb/submodule-helper-clone-regression-fix:
  submodule--helper, module_clone: catch fprintf failure
  submodule--helper: do not borrow absolute_path() result for too long
  submodule--helper, module_clone: always operate on absolute paths
  submodule--helper clone: create the submodule path just once
  submodule--helper: fix potential NULL-dereference
  recursive submodules: test for relative paths
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-path-misc-bugs' into sb/submodule-init</title>
<updated>2016-04-14T19:47:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-04-14T19:47:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ee30f17805f51d372ff9c5036f1d142c167e5e34'/>
<id>urn:sha1:ee30f17805f51d372ff9c5036f1d142c167e5e34</id>
<content type='text'>
"git submodule" reports the paths of submodules the command
recurses into, but this was incorrect when the command was not run
from the root level of the superproject.

Any further comments?  Otherwise will merge to 'next'.

* sb/submodule-path-misc-bugs: (600 commits)
  t7407: make expectation as clear as possible
  submodule update: test recursive path reporting from subdirectory
  submodule update: align reporting path for custom command execution
  submodule status: correct path handling in recursive submodules
  submodule update --init: correct path handling in recursive submodules
  submodule foreach: correct path display in recursive submodules
  Git 2.8
  Documentation: fix git-p4 AsciiDoc formatting
  mingw: skip some tests in t9115 due to file name issues
  t1300: fix the new --show-origin tests on Windows
  t1300-repo-config: make it resilient to being run via 'sh -x'
  config --show-origin: report paths with forward slashes
  submodule: fix regression for deinit without submodules
  l10n: pt_PT: Update and add new translations
  l10n: ca.po: update translation
  Git 2.8-rc4
  Documentation: fix broken linkgit to git-config
  Documentation: use ASCII quotation marks in git-p4
  Revert "config.mak.uname: use clang for Mac OS X 10.6"
  git-compat-util: st_add4: work around gcc 4.2.x compiler crash
  ...
</content>
</entry>
<entry>
<title>Merge branch 'sb/submodule-helper-clone-regression-fix' into sb/submodule-init</title>
<updated>2016-04-14T19:46:11Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2016-04-14T19:46:11Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=7307dd898988c79fc687051e783b3cac8488a559'/>
<id>urn:sha1:7307dd898988c79fc687051e783b3cac8488a559</id>
<content type='text'>
* sb/submodule-helper-clone-regression-fix:
  submodule--helper, module_clone: catch fprintf failure
  submodule--helper: do not borrow absolute_path() result for too long
  submodule--helper, module_clone: always operate on absolute paths
  submodule--helper clone: create the submodule path just once
  submodule--helper: fix potential NULL-dereference
  recursive submodules: test for relative paths
</content>
</entry>
</feed>
