Am 18.02.2011 02:02, schrieb Junio C Hamano: > It seems that not many things need breaking, but we will break some. > > Here are the ones that needed discussion and were discussed that I am > aware of, with my comments (which shouldn't be read as final decision). Sorry for not having posted this earlier: Proposal: Add a new "on-demand" mode to fetch and pull and make it the default. When using the new "on-demand" mode every time new commits are fetched in the superproject they will be parsed for submodule commits. If these commits aren't present in a populated submodule, run "git fetch" inside that submodule. (Also see this thread for an in depth discussion: http://article.gmane.org/gmane.comp.version-control.git/158979/ ) Additionally change "git submodule update" to only then run fetch in a submodule when the commit it wants to check out is not already present there. This behavior can be configured per submodule, per repo and globally. Advantages: * Disconnected operation. Right now it is really easy to forget to fetch all submodules before you get on a plane, possibly leaving you unable to check out certain revisions. * "git diff --submodule" (which is used by git gui and gitk) needs those submodule commits to provide meaningful output * "git merge" needs them to be able to merge submodule commits * This is the least surprising behavior for new submodule users (The upcoming recursive checkout will rely on the commits being present too) Risks: People might be annoyed by the extra time it takes to fetch the submodules when they only expect the superproject to be fetched. Others might be surprised that "git submodule update" doesn't do a fetch anymore. Migration plan: Announce the change in behavior and document how to easily configure the old behavior when wanted and enable this functionality in 1.7.5. -- 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