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 

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 ;-).


Yahoo! Mail 
Stay connected, organized, and protected. Take the tour: 

To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to