Subject: Re: [irq/urgent]: created 3786fc7: "irq: make variable static"

From: Ingo Molnar <[email-masked]>
Date: Wed, 22 Oct 2008 11:00:10 +0200

* Andreas Ericsson <[email-masked]> wrote:

> I imagine you'd want to use it to find out which branches you can (or 
> can't) merge, and in that case you need to know about all the topics 
> which have the commit. Assuming you don't go crazy cherry-picking and 
> criss-cross merging, it should only list a few. The output is not as 
> fancy as below, but it should be faster than the appended script (by 
> several orders of magnitude).

i solved that particular problem quite well, based on suggestions in a 
thread earlier on the git-list. I'm using git branch --no-merged:

 earth4:~/tip> time todo-merge-all
 merging the following updated branches:
 merging linus ... ... merge done.

 real    0m2.865s
 user    0m2.580s
 sys     0m0.228s

that work step used to be over a minute! There are 233 topic branches at 
the moment and 18 integration branches. Kudos for making this go really 
fast in 1.6.0.

the thing i'm after is to see the originator branch of changes. "git 
name-rev" was suggested by Santi Béjar in this thread and that is 
exactly what i need - i'll try to integrate it into some git-log-ish 
output tool.

One thing i noticed is that 'git name-rev' can be quite slow for certain 
commits:

 earth4:~/tip> time git name-rev 948f984
 948f984 tags/tip-safe-poison-pointers-2008-05-26_08_52_Mon~1

 real    0m2.181s
 user    0m2.068s
 sys     0m0.092s

Which seems natural since it might have to dive back into history and 
cross-reference it to all names. (there's 400 branches and 450 tags in 
this tree, so i'm certainly pushing things!)

But if i use that in my git-log-line summary tool it might become 
quadratic overhead (or worse) very quickly, with minutes of runtime.

	Ingo