- pull from git://git.kernel.org/pub/scm/qgit/qgit4.git
- compile + install
- run qgit on the git repo
- select the 900 pounds gorilla called 'Makefile' from tree view ('t'
key shortcut)- double click on it so to start file viewer and annotation
- say wahooo!
You get _all_ the hundreds (more then 800) of revisions of this monster history annotated in the time it takes *other* ;-) tools to annotate just one of them.
Ok. Come back to earth. I've just pushed some patches to use 'git log' instead of 'git rev-list' as interface with git.
By using git-log with '-p' option it is possible to get a file history _and_ corresponding diff in one pass instead of the double step git-rev-list + git-diff-tree. Speed up it's huge.
But there are other gains:
- qgit can now be run with any command line argument known to 'git log'
- when Linus patch 'git log --follow' will be accepted by Junio the following of file renames will come automatically
Unfortunately there are issues too:
- git-log lacks currently a --stdin option needed to pass a long list of sha's, something that a tool sometime wants to do.
- because of the previous issue a StGIT repo under with a long list of unapplied patches may break 'git log' loading.
- probably 'git log --follow' will come semi-automatically because an incompatibility with '--parents' option, as pointed out by Linus, needs a workaround. The latter is currently used to handle the grafts.
Marco