<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/submodule.c, branch v1.7.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v1.7.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v1.7.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2010-06-25T18:30:25Z</updated>
<entry>
<title>Add the option "--ignore-submodules" to "git status"</title>
<updated>2010-06-25T18:30:25Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2010-06-25T14:56:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=46a958b3daa1da336683ec82d7f321d0f51b39c8'/>
<id>urn:sha1:46a958b3daa1da336683ec82d7f321d0f51b39c8</id>
<content type='text'>
In some use cases it is not desirable that "git status" considers
submodules that only contain untracked content as dirty. This may happen
e.g. when the submodule is not under the developers control and not all
build generated files have been added to .gitignore by the upstream
developers. Using the "untracked" parameter for the "--ignore-submodules"
option disables checking for untracked content and lets git diff report
them as changed only when they have new commits or modified content.

Sometimes it is not wanted to have submodules show up as changed when they
just contain changes to their work tree (this was the behavior before
1.7.0). An example for that are scripts which just want to check for
submodule commits while ignoring any changes to the work tree. Also users
having large submodules known not to change might want to use this option,
as the - sometimes substantial - time it takes to scan the submodule work
tree(s) is saved when using the "dirty" parameter.

And if you want to ignore any changes to submodules, you can now do that
by using this option without parameters or with "all" (when the config
option status.submodulesummary is set, using "all" will also suppress the
output of the submodule summary).

A new function handle_ignore_submodules_arg() is introduced to parse this
option new to "git status" in a single location, as "git diff" already
knew it.

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>Teach diff --submodule and status to handle .git files in submodules</title>
<updated>2010-04-10T18:51:56Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2010-04-10T17:01:12Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=eee49b6ce4b7b3fed28794676c67ad3609f658ac'/>
<id>urn:sha1:eee49b6ce4b7b3fed28794676c67ad3609f658ac</id>
<content type='text'>
The simple test for an existing .git directory gives an incorrect result
if .git is a file that records "gitdir: overthere". So for submodules that
use a .git file, "git status" and the diff family - when the "--submodule"
option is given - did assume the submodule was not populated at all when
a .git file was used, thus generating wrong output or no output at all.

This is fixed by using read_gitfile_gently() to get the correct location
of the .git directory. While at it, is_submodule_modified() was cleaned up
to use the "dir" member of "struct child_process" instead of setting the
GIT_WORK_TREE and GIT_DIR environment variables.

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>git status: ignoring untracked files must apply to submodules too</title>
<updated>2010-03-14T05:56:35Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2010-03-13T22:00:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=3bfc45047654c7dd38b32033321228e97fc8f60e'/>
<id>urn:sha1:3bfc45047654c7dd38b32033321228e97fc8f60e</id>
<content type='text'>
Since 1.7.0 submodules are considered dirty when they contain untracked
files. But when git status is called with the "-uno" option, the user
asked to ignore untracked files, so they must be ignored in submodules
too. To achieve this, the new flag DIFF_OPT_IGNORE_UNTRACKED_IN_SUBMODULES
is introduced.

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>git diff --submodule: Show detailed dirty status of submodules</title>
<updated>2010-03-05T06:16:33Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2010-03-04T21:20:33Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c7e1a73641e24340bf93f6f1792220fa9154cda3'/>
<id>urn:sha1:c7e1a73641e24340bf93f6f1792220fa9154cda3</id>
<content type='text'>
When encountering a dirty submodule while doing "git diff --submodule"
print an extra line for new untracked content and another for modified
but already tracked content. And if the HEAD of the submodule is equal
to the ref diffed against in the superproject, drop the output which
would just show the same SHA1s and no commit message headlines.

To achieve that, the dirty_submodule bitfield is expanded to two bits.
The output of "git status" inside the submodule is parsed to set the
according bits.

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>is_submodule_modified(): clear environment properly</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:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=5ce9086ddfe6931ef34fcd99778c9235e2ee1839'/>
<id>urn:sha1:5ce9086ddfe6931ef34fcd99778c9235e2ee1839</id>
<content type='text'>
Rather than only clearing GIT_INDEX_FILE, take the list of environment
variables to clear from local_repo_env, appending the settings for
GIT_DIR and GIT_WORK_TREE.

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>Fix memory leak in submodule.c</title>
<updated>2010-01-31T18:25:23Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2010-01-31T16:43:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=de7a79608c94f7319b55060741d6be98826deccb'/>
<id>urn:sha1:de7a79608c94f7319b55060741d6be98826deccb</id>
<content type='text'>
The strbuf used in add_submodule_odb() was never released. So for every
submodule - populated or not - we leaked its object directory name when
using "git diff*" with the --submodule option.

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>is_submodule_modified(): fix breakage with external GIT_INDEX_FILE</title>
<updated>2010-01-30T21:56:56Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-01-30T20:08:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=b0883aa6c77111e88496bd0afe073caf68ab9f99'/>
<id>urn:sha1:b0883aa6c77111e88496bd0afe073caf68ab9f99</id>
<content type='text'>
Even when the environment was given for the top-level process, checking
in the submodule work tree should use the index file associated with the
work tree of the submodule.  Do not export it to the environment.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Teach diff --submodule that modified submodule directory is dirty</title>
<updated>2010-01-25T05:04:31Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2010-01-24T14:09:00Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=721ceec1ad12625e90b395fd0be0fae9049ebc22'/>
<id>urn:sha1:721ceec1ad12625e90b395fd0be0fae9049ebc22</id>
<content type='text'>
Since commit 8e08b4 git diff does append "-dirty" to the work tree side
if the working directory of a submodule contains new or modified files.
Lets do the same when the --submodule option is used.

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 'jl/submodule-diff'</title>
<updated>2010-01-23T00:08:10Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-01-23T00:08:10Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=c6ec7efdd4c63f5c53184651cb05748e7bc71075'/>
<id>urn:sha1:c6ec7efdd4c63f5c53184651cb05748e7bc71075</id>
<content type='text'>
* jl/submodule-diff:
  Performance optimization for detection of modified submodules
  git status: Show uncommitted submodule changes too when enabled
  Teach diff that modified submodule directory is dirty
  Show submodules as modified when they contain a dirty work tree
</content>
</entry>
<entry>
<title>Show submodules as modified when they contain a dirty work tree</title>
<updated>2010-01-17T00:40:50Z</updated>
<author>
<name>Jens Lehmann</name>
<email>Jens.Lehmann@web.de</email>
</author>
<published>2010-01-16T17:42:24Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=ee6fc514f2df821c2719cc49499a56ef2fb136b0'/>
<id>urn:sha1:ee6fc514f2df821c2719cc49499a56ef2fb136b0</id>
<content type='text'>
Until now a submodule only then showed up as modified in the supermodule
when the last commit in the submodule differed from the one in the index
or the diffed against commit of the superproject. A dirty work tree
containing new untracked or modified files in a submodule was
undetectable when looking at it from the superproject.

Now git status and git diff (against the work tree) in the superproject
will also display submodules as modified when they contain untracked or
modified files, even if the compared ref matches the HEAD of the
submodule.

Signed-off-by: Jens Lehmann &lt;Jens.Lehmann@web.de&gt;
Signed-off-by: Nanako Shiraishi &lt;nanako3@lavabit.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
