From: Gelonida N <gelonida@gmail.com>
To: git@vger.kernel.org
Subject: Re: git diff --numstat <branch> always shows dirty submodules
Date: Sun, 13 Nov 2011 01:45:25 +0100 [thread overview]
Message-ID: <j9n3v5$ncj$1@dough.gmane.org> (raw)
In-Reply-To: <4EBED0ED.7060005@web.de>
Hi Jens,
Thanks a lot for your answer.
On 11/12/2011 09:02 PM, Jens Lehmann wrote:
> Am 12.11.2011 14:29, schrieb Gelonida N:
>> I recently started using submodules and they behave mostly as I like to.
>> Normally I use diff --numstat<branch>
>> to check quickly whether I am aligned with another branch or not.
>> . . .
>> Is there any quick way flag / helper script / . . .
>> to show differences between two branches without raising the fact, that
>> submodules are dirty?
>
> Yes, there is the "--ignore-submodules" command line option and the
> diff.ignoreSubmodules (which can be set globally and/or per repo) and
> submodule.<name.>ignore configuration settings. They can be set to
> "untracked", "dirty" or "all" to control what you want to see.
I tried this immediately and at works perfectly for git diff.
Please see also my comments at the end of this post
>
> Did you check areas in the Documentation where you did expect to find
> them mentioned but they weren't? Then please say so that we can fix
> that.
>
Apologies. My bad. I must have read the output of
git help diff
too quickly.
It is there plain as the day. :-(
>>> From a user perspective I don't see why this is reported.
>> I am not being warned about dirty files in the top level repository
>
> This is so you can't forget to add new files inside the submodule,
> which can lead to breakage when other people clone the superproject
> but won't get the new files from the submodule because you didn't
> commit them there.
Well I wouldn't expect to find this kind of info (by default) in the
output of a git-diff.
If you git-diff two branches of a project without submodules it doesn't
tell you either, that you have untracked files in the repository.
I would have expected this kind of output just as result of
'git status'
(as it is already today)
# modified: submodule (untracked content)
Git status reports untracked files in the super project AND in it
reports, that there are untracked files in the submodule.
So this seems to be more consistent to me than the diff case.
On the other hand I would consider it usefult if git status could
optionally report the complete list of untracked files also for the
submodules
(So far I didn't search in depth in doc whether there is a switch
for it.)
A first shot was reading the output of git help status:
> If status.submodulesummary is set to a non zero number or true (identical to -1 or an unlimited number), the
> submodule summary will be enabled for the long format and a summary of commits for modified submodules will
> be shown (see --summary-limit option of git-submodule(1)).
I put thus following lines in .git/config of my repository
status]
submodulesummary = true
but the untracked files of my submodule were not reported. (will follow
the doc of git-submodule)
What is also confusing to me is, that the setting
diff.ignoreSubmodules is also being used by git status.
There seems to be no variable
status.ignoreSubmodules
So it seems impossible (without aliases) to
have git diff NOT report the untracked files,
but git status report them.
I guess I'll go for a solution with git aliases
prev parent reply other threads:[~2011-11-13 0:46 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-12 13:29 git diff --numstat <branch> always shows dirty submodules Gelonida N
2011-11-12 20:02 ` Jens Lehmann
2011-11-13 0:45 ` Gelonida N [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='j9n3v5$ncj$1@dough.gmane.org' \
--to=gelonida@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).