Ingo Molnar wrote:
* Andreas Ericsson <ae@xxxxxx> 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.
What's the timing for "git branch --contains 948f984" ?
"git name-rev" parses a lot more just to be able to print a pretty
short-name (the reversed "git describe") for you to use.
--
Andreas Ericsson andreas.ericsson@xxxxxx
OP5 AB www.op5.se
Tel: +46 8-230225 Fax: +46 8-230231
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html