From: Paul Mackerras Date: Sat, 01 Jul 2006 10:35:52 GMT Subject: Re: [RFC] gitweb wishlist and TODO list Message-ID: <17574.20488.149073.587594@cargo.ozlabs.ibm.com> In-Reply-To: <46a038f90606201417k71c4c43ak59204774bcfe8246@mail.gmail.com> Martin Langhoff writes: > > If I remember correctly, it was done in the background, and it was done > > at least partially _in_ gitk (Tcl/Tk). > > I suspect it is doing a whole lot of git-merge-base invocations, which > are rather costly. I don't know of any cheaper way to ask that > question. There's no git-merge-base involved. Gitk does a git-rev-list --all --topo-order --parents and reads the output of that, and then traverses the entire graph forwards and backwards (in Tcl). (This is after gitk has read the output of git ls-remote $GIT_DIR, so it knows which commits have tags.) Paul.