I wonder if this is a fairly common pattern. We tend to have modules as git repositories, and projects that tie together those git repositories as submodules. In general, > 90% of the work is done in one module, and the following stanza gets used a lot: cd /proj/modA git commit -s -m "Some change" git push cd .. git add modA git commit -s -m "Some change (modA)" git push But since this is much more cumbersome than (say) "svn ci", what often happens is developers just commit into modA, then carry on. Or for people just learning git, they somtimes screw up, and push the parent proj but not the child modA This is a shame, as it means any external people pulling updates directly from proj will not get this change (e.g. CI tools speculatively compiling against every developer tree). For me, in some really high proportion of cases, I think I want 'git commit' to mean 'commit to any child repositories, any sibling repositories, and any parent repositories (updating the submodule sha1 as appropriate). In other words, 'pretend like the whole thing is one big repo'. I guess it probably gets sticky when there are merge conflicts. Is anyone working on this kind of thing; I might be able to give some time to help work on it? -- 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