Michael Haggerty <mhagger@xxxxxxxxxxxx> writes: > So I think I need help from a submodule guru (Heiko?) who can tell me > what is done with submodule references and whether they might be > modified while a git process is executing in the main module. If so, > then either this patch has to be withdrawn, or more work has to be put > in to make such code invalidate the submodule reference cache. > > Sorry for the oversight, but I forgot that not all code necessarily uses > the refs.c API when dealing with references (a regrettable situation, BTW). In the longer term, I would agree with you that we very much prefer all the ref accesses to go through the refs API, and I also foresee that the submodule support would need to become more aware of the status of refs in checked out submodules. For example, a recursive "submodule update" may want to inspect the refs in a submodule directory, compare them with the commit bound in the superproject tree for the submodule path, and decide to spawn a "fetch && checkout $branch" in there. The same process then may want to run "status" at the superproject level to show the result, which in turn would inspect the relationship between the commit bound in the superproject tree and the commit at the HEAD of the submodule directory. So let's not rip out the commit but instead give submodule machinery an explicit way to say "We do not know the current status of the refs in this submodule anymore". Thanks. -- 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