<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/git-submodule.sh, branch v1.7.0.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v1.7.0.5</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.7.0.5'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2010-02-25T00:24:25Z</updated>
<entry>
<title>submodules: ensure clean environment when operating in a submodule</title>
<updated>2010-02-25T00:24:25Z</updated>
<author>
<name>Giuseppe Bilotta</name>
<email>giuseppe.bilotta@gmail.com</email>
</author>
<published>2010-02-24T23:34:17Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=74ae14199dfb4b3b22a10d3dcecb62b457245564'/>
<id>urn:sha1:74ae14199dfb4b3b22a10d3dcecb62b457245564</id>
<content type='text'>
git-submodule used to take care of clearing GIT_DIR whenever it operated
on a submodule index or configuration, but forgot to unset GIT_WORK_TREE
or other repo-local variables. This would lead to failures e.g. when
GIT_WORK_TREE was set.

This only happened in very unusual contexts such as operating on the
main worktree from outside of it, but since "git-gui: set GIT_DIR and
GIT_WORK_TREE after setup" (a9fa11fe5bd5978bb) such failures could also
be provoked by invoking an external tool such as "git submodule update"
from the Git Gui in a standard setup.

Solve by using the newly introduced clear_local_git_env() shell function
to ensure that all repo-local environment variables are unset.

Signed-off-by: Giuseppe Bilotta &lt;giuseppe.bilotta@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git status: Show uncommitted submodule changes too when enabled</title>
<updated>2010-01-17T23:55:11Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2010-01-17T19:42:31Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f17a5d34948363087db94a1cb2c3c715c1ada2d8'/>
<id>urn:sha1:f17a5d34948363087db94a1cb2c3c715c1ada2d8</id>
<content type='text'>
When the configuration variable status.submodulesummary is not 0 or
false, "git status" shows the submodule summary of the staged submodule
commits. But it did not show the summary of those commits not yet
staged in the supermodule, making it hard to see what will not be
committed.

The output of "submodule summary --for-status" has been changed from
"# Modified submodules:" to "# Submodule changes to be committed:" for
the already staged changes. "# Submodules changed but not updated:" has
been added for changes that will not be committed. This is much clearer
and consistent with the output for regular files.

Signed-off-by: Jens Lehmann &lt;Jens.Lehmann@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'rs/work-around-grep-opt-insanity'</title>
<updated>2009-11-25T19:45:07Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-11-25T19:45:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=ad7ace714d353ef49045bc37c1363e8fc904792d'/>
<id>urn:sha1:ad7ace714d353ef49045bc37c1363e8fc904792d</id>
<content type='text'>
* rs/work-around-grep-opt-insanity:
  Protect scripted Porcelains from GREP_OPTIONS insanity
  mergetool--lib: simplify guess_merge_tool()

Conflicts:
	git-instaweb.sh
</content>
</entry>
<entry>
<title>Protect scripted Porcelains from GREP_OPTIONS insanity</title>
<updated>2009-11-24T00:31:07Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-11-23T23:56:32Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=e1622bfcbad680225ad5c337e4778df88389227e'/>
<id>urn:sha1:e1622bfcbad680225ad5c337e4778df88389227e</id>
<content type='text'>
If the user has exported the GREP_OPTIONS environment variable, the output
from "grep" and "egrep" in scripted Porcelains may be different from what
they expect.  For example, we may want to count number of matching lines,
by "grep" piped to "wc -l", and GREP_OPTIONS=-C3 will break such use.

The approach taken by this change to address this issue is to protect only
our own use of grep/egrep.  Because we do not unset it at the beginning of
our scripts, hook scripts run from the scripted Porcelains are exposed to
the same insanity this environment variable causes when grep/egrep is used
to implement logic (e.g. "grep | wc -l"), and it is entirely up to the
hook scripts to protect themselves.

On the other hand, applypatch-msg hook may want to show offending words in
the proposed commit log message using grep to the end user, and the user
might want to set GREP_OPTIONS=--color to paint the match more visibly.
The approach to protect only our own use without unsetting the environment
variable globally will allow this use case.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jl/submodule-add-noname'</title>
<updated>2009-11-21T07:46:07Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-11-21T07:46:07Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=6a09ff14fb1df8f05f4a800fca6e2d9d670445bd'/>
<id>urn:sha1:6a09ff14fb1df8f05f4a800fca6e2d9d670445bd</id>
<content type='text'>
* jl/submodule-add-noname:
  git submodule add: make the &lt;path&gt; parameter optional
</content>
</entry>
<entry>
<title>typo fix: Directory `...' exist, ...: s/exist/exists/</title>
<updated>2009-09-29T15:30:13Z</updated>
<author>
<name>Jim Meyering</name>
<email>meyering@redhat.com</email>
</author>
<published>2009-09-29T05:42:25Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=0484682ef326db0d3b99e71f6ca4551d0f5a4609'/>
<id>urn:sha1:0484682ef326db0d3b99e71f6ca4551d0f5a4609</id>
<content type='text'>
Signed-off-by: Jim Meyering &lt;meyering@redhat.com&gt;
Signed-off-by: Shawn O. Pearce &lt;spearce@spearce.org&gt;
</content>
</entry>
<entry>
<title>git submodule add: make the &lt;path&gt; parameter optional</title>
<updated>2009-09-22T19:24:49Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2009-09-22T15:10:12Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=1414e5788b85787a712a30977b388200f1bc04da'/>
<id>urn:sha1:1414e5788b85787a712a30977b388200f1bc04da</id>
<content type='text'>
When &lt;path&gt; is not given, use the "humanish" part of the source repository
instead.

Signed-off-by: Jens Lehmann &lt;Jens.Lehmann@web.de&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jh/submodule-foreach'</title>
<updated>2009-08-27T23:59:25Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-08-27T23:59:25Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=adc542353199bdc0b9b1ed5d03cf881b7efaff6e'/>
<id>urn:sha1:adc542353199bdc0b9b1ed5d03cf881b7efaff6e</id>
<content type='text'>
* jh/submodule-foreach:
  git clone: Add --recursive to automatically checkout (nested) submodules
  t7407: Use 'rev-parse --short' rather than bash's substring expansion notation
  git submodule status: Add --recursive to recurse into nested submodules
  git submodule update: Introduce --recursive to update nested submodules
  git submodule foreach: Add --recursive to recurse into nested submodules
  git submodule foreach: test access to submodule name as '$name'
  Add selftest for 'git submodule foreach'
  git submodule: Cleanup usage string and add option parsing to cmd_foreach()
  git submodule foreach: Provide access to submodule name, as '$name'

Conflicts:
	Documentation/git-submodule.txt
	git-submodule.sh
</content>
</entry>
<entry>
<title>git submodule status: Add --recursive to recurse into nested submodules</title>
<updated>2009-08-19T05:59:58Z</updated>
<author>
<name>Johan Herland</name>
<email>johan@herland.net</email>
</author>
<published>2009-08-19T01:45:24Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=64b19ffeddda499e7380b38b43a3dee579734905'/>
<id>urn:sha1:64b19ffeddda499e7380b38b43a3dee579734905</id>
<content type='text'>
In very large and hierarchically structured projects, one may encounter
nested submodules. In these situations, it is valuable to not only show
status for all the submodules in the current repo (which is what is
currently done by 'git submodule status'), but also to show status for
all submodules at all levels (i.e. recursing into nested submodules as
well).

This patch teaches the new --recursive option to the 'git submodule status'
command. The patch also includes documentation and selftests.

Signed-off-by: Johan Herland &lt;johan@herland.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>git submodule update: Introduce --recursive to update nested submodules</title>
<updated>2009-08-19T05:59:12Z</updated>
<author>
<name>Johan Herland</name>
<email>johan@herland.net</email>
</author>
<published>2009-08-19T01:45:23Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=b13fd5c1a2bd450cdf7b853e0c4861f361882a18'/>
<id>urn:sha1:b13fd5c1a2bd450cdf7b853e0c4861f361882a18</id>
<content type='text'>
In very large and hierarchically structured projects, one may encounter
nested submodules. In these situations, it is valuable to not only update
the submodules in the current repo (which is what is currently done by
'git submodule update'), but also to operate on all submodules at all
levels (i.e. recursing into nested submodules as well).

This patch teaches the new --recursive option to the 'git submodule update'
command. The patch also includes documentation and selftests.

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