Ingo Molnar wrote: > >the bad news: except for annotations. I started qgit in the current >kernel GIT repository, and clicked on the following commit: > > 5bbcfd9000887c0da7d57cc7b3ac869fc0dd5aa9 > >then i clicked on sched.c to see the annotated file.
Interesting enough sched.c is one of the files I used as my internal test of annotate function. I test again annotate with commit 5bbcfd9000887c0da7d57cc7b3ac869fc0dd5aa9 but my numbers are: 123 revisions in history list 4 seconds to show file content of rev 5bbcfd9000887c0da7d57cc7b3ac869fc0dd5aa9 16 seconds after annotate is shown No 'Merge' string found And no freeze at all on my box also because of some calls to main event loop (qApp->processEvents()) scattered along the heaviest routines. So I cannot reproduce the bug. Please can you be so kind to apply this: --- a/src/annotate.cpp +++ b/src/annotate.cpp @@ -198,7 +198,7 @@ void Annotate::getReachability(ReachList } } } - //printReachList(rl); + printReachList(rl); } QString Annotate::getRoot(SRef sha, const ReachList& rl) { and send me the output? > >then the annotations were plain wrong. Almost all lines are attributed >to Tony Luck, while much of the file comes from the initial repository. >So something's quite fishy here. This is just a choice, peraphs wrong ;-). Because it is possible to call annotate at any time, also while loading, snapshotting the history, there is no a univoque meaning of "Inital import" so I choose first rev in list's author instead. But anyway, this is the patch (above the first one) --- a/src/annotate.cpp +++ b/src/annotate.cpp @@ -273,7 +273,7 @@ QStringList Annotate::getFirstAnnotation QString fileSHA = rf.filesSHA[pos]; git->getFile(fileSHA, NULL, true); // calls mainExec and event loop int lineNum = git->mainBuffer.contains('\n'); - QString author = getAuthor(shaHist[idx], shaHist); + QString author = "Initial import"; QStringList first; first.insert(first.begin(), lineNum, author); return first; Also, a number of lines were attributed >to 'merge', which isnt very informative. > This is not a choice but a bad behaviour. 'Merge' is used as author name as a mark to help unify() routine to join 2 branches annotations and should be substituted by second branch author if everything it is ok. This is not your case ;-). Marco __________________________________ Yahoo! Mail Stay connected, organized, and protected. Take the tour: http://tour.mail.yahoo.com/mailtour.html - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html