Stefan Beller <sbeller@xxxxxxxxxx> writes: > If we were to redesign the .gitmodules file, we might have it as > > [submodule "path"] > url = git://example.org > branch = . > ... > > and the "path -> name/UID" mapping would be inside $GIT_DIR. I am not sure how you are going to keep track of that mapping, though. If .gitmodules file does not have a way to tell that what used to be at "path" in its v1.0 is now at "htap" (instead the above seems to assume there will just be an entry for [submodule "htap"] in the newer version, without anything that links the old one with the new one), how would the mapping inside $GIT_DIR know? Don't forget that name was introduced as the identity because we cannot assume that URL for a single project will never change. I fully agree that our documentation and user education should stress that names must be unique and immultable throughout the history of a superproject, though.