On Mon, Jun 19, 2017 at 2:52 AM, Patrick Lehmann <Patrick.Lehmann@xxxxxxx> wrote: > Hello Lars, > > for your questions: >> If there are multiple branches with the same hash then your script would pick the first one. Can you imagine a situation where this would be a problem? > > I can't think of a good solution to resolve it automatically. Maybe a script could print that there are multiple possibilities and it choose the first branch in the list. > > >> Plus, you are looking only at local branches. Wouldn't it make sense to look at remote branches, too? > > This is also related to restoring tags. If we go this way, we should have this priority list: > - local branches > - remote branches For remote branches you would create a local branch of the same name (if such a branch would not exist, possibly setting it up to track that remote branch)? > - tags as said in the other email and similar to remote branches, we'd not want to have HEAD pointing to them directly but somehow have a local branch. >> Submodule processing is already quite slow if you have many of them. I wonder how much this approach would affect the performance. > > Yes. It takes a few seconds to iterate all the submodules. It could be improved if the processing wouldn't be based on slow Bash scripts spawning lot's of sub-shells to execute multiple Git commands. How many submodules are we talking about? (Are you on Windows to make shell even more fun?)