{"thread":{"id":"1190","subject":"Re: qgit-0.7","startedAt":"2005-07-10T12:25:30Z","lastAt":"2005-07-10T13:43:09Z","messageCount":2,"participants":["Marco Costalba","Ingo Molnar"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"5887","messageId":"20050710122531.15175.qmail@web26303.mail.ukl.yahoo.com","threadId":"1190","inReplyTo":null,"subject":"Re: qgit-0.7","fromName":"Marco Costalba","fromEmail":"mcostalba@yahoo.it","sentAt":"2005-07-10T12:25:30Z","receivedAt":"2005-07-10T12:25:30Z","isPatch":false,"sender":{"key":"mcostalba@gmail.com","avatar":null},"body":"Ingo Molnar wrote:\n\n>\n>the bad news: except for annotations. I started qgit in the current \n>kernel GIT repository, and clicked on the following commit:\n>\n>  5bbcfd9000887c0da7d57cc7b3ac869fc0dd5aa9\n>\n>then i clicked on sched.c to see the annotated file. \n\nInteresting enough sched.c is one of the files I used as my internal test of\nannotate function.\n\nI test again annotate with commit 5bbcfd9000887c0da7d57cc7b3ac869fc0dd5aa9 but\n my numbers are:\n\n123 revisions in history list\n\n4 seconds to show file content of rev 5bbcfd9000887c0da7d57cc7b3ac869fc0dd5aa9\n\n16 seconds after annotate is shown\n\nNo 'Merge' string found\n\nAnd no freeze at all on my box also because of some calls\nto main event loop (qApp->processEvents()) scattered along the heaviest routines.\n\nSo I cannot reproduce the bug. Please can you be so kind to apply this:\n\n--- a/src/annotate.cpp\n+++ b/src/annotate.cpp\n@@ -198,7 +198,7 @@ void Annotate::getReachability(ReachList\n \t\t\t}\n \t\t}\n \t}\n-\t//printReachList(rl);\n+\tprintReachList(rl);\n }\n \n QString Annotate::getRoot(SRef sha, const ReachList& rl) {\n\n\nand send me the output?\n\n\n>\n>then the annotations were plain wrong. Almost all lines are attributed \n>to Tony Luck, while much of the file comes from the initial repository.  \n>So something's quite fishy here. \n\nThis is just a choice, peraphs wrong ;-). Because it is possible to call\nannotate at any time, also while loading, snapshotting the history,\n there is no a univoque meaning of \"Inital import\" so I choose first rev in list's author\ninstead. But anyway, this is the patch (above the first one)\n\n--- a/src/annotate.cpp\n+++ b/src/annotate.cpp\n@@ -273,7 +273,7 @@ QStringList Annotate::getFirstAnnotation\n \tQString fileSHA = rf.filesSHA[pos];\n \tgit->getFile(fileSHA, NULL, true); // calls mainExec and event loop\n \tint lineNum = git->mainBuffer.contains('\\n');\n-\tQString author = getAuthor(shaHist[idx], shaHist);\n+\tQString author = \"Initial import\";\n \tQStringList first;\n \tfirst.insert(first.begin(), lineNum, author);\n \treturn first;\n\n\n\nAlso, a number of lines were attributed \n>to 'merge', which isnt very informative.\n>\n\nThis is not a choice but a bad behaviour. 'Merge' is used as author name\nas a mark to help unify() routine to join 2 branches annotations and\nshould be substituted by second branch author if everything it is ok.\nThis is not your case ;-).\n\n\nMarco\n\n\n\n\n\n\n\t\t\n__________________________________ \nYahoo! Mail \nStay connected, organized, and protected. Take the tour: \nhttp://tour.mail.yahoo.com/mailtour.html \n"},{"id":"5889","messageId":"20050710134309.GA24935@elte.hu","threadId":"1190","inReplyTo":"20050710122531.15175.qmail@web26303.mail.ukl.yahoo.com","subject":"Re: qgit-0.7","fromName":"Ingo Molnar","fromEmail":"mingo@elte.hu","sentAt":"2005-07-10T13:43:09Z","receivedAt":"2005-07-10T13:43:09Z","isPatch":false,"sender":{"key":"mingo@elte.hu","avatar":null},"body":"\n* Marco Costalba <mcostalba@yahoo.it> wrote:\n\n> So I cannot reproduce the bug. [...]\n\nweird - i cannot reproduce it either anymore, and annotate works now as \nadvertised - it's fast and accurate as far as i checked. But i synced to \nthe latest tree meanwhile. Perhaps i had an inconsistent tree?\n\n(i'll keep an eye on this, i've uncommented that printout, so if it ever \nhappens again i'll have the data.)\n\nnow that everything is working fine, may i suggest improvements? :-) \nFirstly, now i'm listed as the author for most portions of sched.c, \nwhich is accurate for a fair portion of that, but is only done by qgit \nbecause i happened to be the author of the first commit. So it would be \nmore accurate to denote version 1's author as empty (or with some other, \nnonintrusive string that shows that this file came here due to the \ninitial commit)? We dont know the full history yet, because the current \nDB's history starts at 2.6.12-rc2, with a full sched.c file. (I think an \nempty author field would reflect version #1's authorship most \naccurately, and would be the visually least intrusive.)\n\n\tIngo\n"}]}