git/list[1] front-page[2] threads[3] people[4] search[5] about
 

qgit: Annotate hundreds of files at terrific speed ;-)

From
MCMarco Costalba <mcostalba@gmail.com>
Date
Jun 23, 2007, 16:35 UTC
Message-ID
<e5bfff550706230935m5363a6dava9dbd62a56a1b685@mail.gmail.com>
- 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
Next: Shawn O. Pearce
Message 1 of 5 in “qgit: Annotate hundreds of files at terrific speed ;-)”
  1. Marco CostalbaJun 23, 2007
  2. Shawn O. PearceJun 24, 2007
  3. Marco CostalbaJun 25, 2007
  4. Nanako ShiraishiJun 25, 2007
  5. Marco CostalbaJun 25, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.