Subject: Re: submodules' shortcomings, was Re: RFC: display dirty submodule working directory in git gui and gitk

From: Jens Lehmann <[email-masked]>
Date: Wed, 06 Jan 2010 19:32:31 +0100

Am 06.01.2010 18:55, schrieb Junio C Hamano:
> Nguyen Thai Ngoc Duy <[email-masked]> writes:
> 
>> On 1/7/10, Junio C Hamano <[email-masked]> wrote:
>>> Jens Lehmann <[email-masked]> writes:
>>>
>>>
>>>> Am 06.01.2010 02:04, schrieb Junio C Hamano:
>>>  >> After all we _were_ in agreement.  We both think the user should be told
>>>  >> about untracked files in submodule directory when inspecting the status to
>>>  >> make a commit in the superproject.
>>>  >
>>>  > Thanks. So i'll take a closer look at the diff core (but i suspect i'll
>>>  > need some time until i can come up with some patches because i don't know
>>>  > this part of git very well).
>>>
>>>
>>> I don't see a direct connection between "the user should be told about
>>>  untracked in the submodule before committing" and diffcore.  It is just
>>>  the matter of "git status" and "git commit" running another instance of
>>>  "git status" via run_command() interface in the submodule directory, no?
>>
>> You would need to rewrite file paths so that files in submodules are
>> also relative to the same directory as files in supermodule (I tried
>> to do that with GIT_WORK_TREE and needed to change a bit). Or you
>> could show each "git status" output separately, which does not look as
>> nice as the former in my opinion.
> 
> You could show output separately if you want, but I think that is a
> separate issue.
> 
> I was envisioning that the "git status" in submodule will be run with its
> recent --porcelain option, and "git status" or "git commit" would read it
> to postprocess and incorporate into its own output.

And i thought about printing just one line for each dirty submodule that
contains uncommitted and/or new files. I did not intend to list every
file, for the same reason a "git diff --submodule" only shows the first
line of the commit messages, not the actual differences of all changed
files in the submodule. I am not against being able to show all files
too, but i really would want to have an option to get a short output for
git gui and gitk.