What is fastest possible way to get all “tips” (leafs of the Git log graph) in 
a Git repository with hashes of commits they point to?

We at JetBrains are tuning performance of Git log integration in our IntelliJ 
IDEA and want to get all tips as fast as possible. 
Currently we use 'git log —branches --tags --remotes --no-walk’, but the 
problem is that it is slow if there are a lot of references. In our repository 
we have about 35K tags, and therefore the tags is the main slowdown. On the 
other hand, we have just a couple of dozens of tips as well as branch 
references, and `git log --branches --remotes` is very fast.

So we are searching a way to get tags pointing to the graph leafs faster. 

We also tried to read tags by manually parsing .git files (it is faster than 
invoking git log), but unfortunately annotated tags in .git/refs/tags/ are 
written without the hashes they point to (unlike .git/packed-refs).

And that’s a pity that `git tag` doesn’t show the hashes.

Thanks a lot for any help!

Kirill Likhodedov
"Develop with pleasure!"

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to