On Mon, Dec 9, 2013 at 9:17 PM, Alexander Lamaison
Andrey Semashev
writes: With the branch approach, the branch can be deleted, and if I'm not mistaken, the release tag would then reference a non- existent commit of the branch.
Do you mean that a superproject commit {foo} tagged "mytag" would reference a non-existent submodule commit {bar} because {bar} had been on branch "mybranch" when commit {foo} was made and branch "mybranch" has since been deleted?
Yes.
Because, if so, that's not possible with git. Branches are just nicknames for particular commits. They can come and go pretty much as they please without disrupting other things. Submodules reference a _commit_ and the commits remain in the repository regardless of what happens to the branches.
Or put another way, branches are there for the humans. When talking to itself (like referencing a submodule) git only cares about commits.
Ok, good to know. Thanks for the clarification.