Am 09.06.2010 01:49, schrieb Johan Herland: > On Wednesday 09 June 2010, Jens Lehmann wrote: >> There are currently (since 1.7.0) three reasons a submodule is considered >> dirty: >> >> 1) It contains untracked content >> 2) It contains modified tracked content >> 3) It contains newer commits than those committed in the superproject > > I guess 3) really means that the submodule's HEAD points to a _different_ > (not necessarily _newer_) commit than what's referenced in the superproject. Sure, please replace my inaccurate description with yours ;-) >> "all" would ignore 1), 2) & 3) >> "dirty" would ignore 1) & 2) >> "untracked" would ignore 1) > > ...and just to complete my understanding of this, 3) requires only checking > the submodule's current HEAD, while 1) and 2) require traversing its work > tree (i.e. the equivalent of a 'git status'), hence the potential > expensiveness. Thats correct. > Also, I guess 2) includes both staged and unstaged modifications to tracked > content? Yes (as it doesn't make a difference to the superproject if modifications inside the submodule are staged or not there is no distinction made between those two). > Thanks for your help. All the ideas in your cover letter seem good to me. Thank you for your comments, I'll start hacking to show some more patches. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html