* Andreas Ericsson <ae@xxxxxx> wrote: > 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. it takes much longer: earth4:~/tip> time git branch --contains 948f984 [... 44 branches ...] real 0m9.596s user 0m9.151s sys 0m0.218s Ingo -- 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