Re: submodules' shortcomings, was Re: RFC: display dirty submodule working directory in git gui and gitk
From: Jens Lehmann <hidden>
Date: 2016-06-15 22:47:58
Am 06.01.2010 18:55, schrieb Junio C Hamano:
Nguyen Thai Ngoc Duy [off-list ref] writes:quoted
On 1/7/10, Junio C Hamano [off-list ref] wrote:quoted
Jens Lehmann [off-list ref] writes:quoted
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.