git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* qgit-0.7
@ 2005-07-09  8:15 Marco Costalba
  2005-07-10 10:01 ` qgit-0.7 Ingo Molnar
  0 siblings, 1 reply; 5+ messages in thread
From: Marco Costalba @ 2005-07-09  8:15 UTC (permalink / raw)
  To: git

Here is qgit-0.7, a GUI git viewer.

you can download from:

http://prdownloads.sourceforge.net/qgit/qgit-0.7.tar.gz?download


This time a small changelog, but a lot of work ;-)

- rewrite of graph drawing
- start-up loading: switch to use git-rev-list --topo-order
- final fixes to annotation
- cache of file lists to speed-up loading of file names
- added color background on heads

Graph now uses connected lines and should be better to follow, 
also the switch from home grown to legacy git-rev-list --topo-order helps in
clarify revs history.

Annotation now works for me in all cases with the limitation that does not
follow renames.

When you run qgit for the first time it takes some time to git-rev-list and
git-diff-tree the repo. Following runs are faster because a persistent
cache of file names is used, so the speed is the same of just running git-rev-list.


Note: because of the use of --topo-order option in git-rev-list you need a very
recent copy of git.


For people who missed previous releases, a brief feature list:

- revisions log with diff and file viewer windows

- graph of development lines

- automatic update of all open views when navigating through lists

- filter by a substring (with wildcards support) in SHA, short log, author or paths

- colored file list window: green new file, red removed one

- patch viewer of diffs against parent, head or a mouse selected (CTRL + PRESS) rev

- file viewer with automatic annotation of content and file history

- file viewer with substring find function and jump to diff with double-click in
  annotate line

- command line arguments support using git-rev-parse

- highlight on tags and heads


As usual, to try qgit:

-unpack files
-make
-cd bin
-copy qgit in the path
-run qgit from a git working directory


Please refer to README for more information.


Marco

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: qgit-0.7
@ 2005-07-09 15:06 Marco Costalba
  0 siblings, 0 replies; 5+ messages in thread
From: Marco Costalba @ 2005-07-09 15:06 UTC (permalink / raw)
  To: wd; +Cc: git

Wolfgang Denk ha scritto:

>Dear Marco,
>
>in message <20050709081512.33503.qmail@web26306.mail.ukl.yahoo.com> you wrote:
>
>>Here is qgit-0.7, a GUI git viewer.
>
>
>Sorry, but I cannot compile it on a Fedora Core 4 system:
>
>-> ./configure 
>+scons was found, that's excellent+
>scons: Reading SConscript files ...
>-> make
>scons -Q
>g++ -DQT_THREAD_SUPPORT -D_REENTRANT -I/usr/lib64/qt-3.3/include -c -o src/annotate.o
src/annotate.cpp
>src/annotate.cpp: In member function `QStringList Annotate::processDiff(const 
>   QString&, QStringList&, const QString&)':
>src/annotate.cpp:378: error: jump to case label
>src/annotate.cpp:373: error:   crosses initialization of `int num'
>src/annotate.cpp:387: error: jump to case label
>src/annotate.cpp:373: error:   crosses initialization of `int num'
>src/annotate.cpp:401: error: jump to case label
>src/annotate.cpp:373: error:   crosses initialization of `int num'
>scons: *** [src/annotate.o] Error 1
>make: *** [all] Error 2
>
>The following patch solves this problem:
>
>--- src/annotate.cpp.ORIG	2005-07-09 07:10:23.000000000 +0200
>+++ src/annotate.cpp	2005-07-09 16:05:09.556653902 +0200
>@@ -370,10 +370,12 @@
> 		char firstChar = line[0].latin1();
> 		switch (firstChar) {
> 		case '@':
>+		    {
> 			int num = line.section(',', 1, 1). section('+', 1, 1).toInt();
> 			// diff lines start from 1, 0 is empty file,
> 			// instead QValueList::at() starts from 0
> 			cur = (num > 0) ? newAnn.at(num - 1) : newAnn.end();
>+		    }
> 			break;
> 		case '+':
> 			if (cur != newAnn.end()) {
>
>

Thanks for your patch, applied.

What version og gcc you have? 
Mine is gcc version 4.0.1 and I don't have this compile error (of course ;-) ).

I have cc'ed to git@vger.kernel.org in case someone else have the same problem.


>With this patch, I get a lot of build errors:
>
>QSettings: error creating /.qt
>QSettings: error creating /.qt
>QSettings: error creating /.qt
>QSettings: error creating /.qt
>QSettings: error creating /.qt
>QSettings::sync: filename is null/empty
>QSettings: error creating /.qt
>QSettings::sync: filename is null/empty
>QSettings: error creating /.qt
>QSettings::sync: filename is null/empty
>QSettings: error creating /.qt
>QSettings::sync: filename is null/empty
>QSettings: error creating /.qt
>QSettings::sync: filename is null/empty
>QSettings: error creating /.qt
>QSettings::sync: filename is null/empty
>...
>
>It links and seems to run, though.
>

It's a known issue, probably due to scons setup, but I am not so familiar with scons
to find a fix, in any case should be absolutely painless.


Marco


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: qgit-0.7
@ 2005-07-10 12:25 Marco Costalba
  2005-07-10 13:43 ` qgit-0.7 Ingo Molnar
  0 siblings, 1 reply; 5+ messages in thread
From: Marco Costalba @ 2005-07-10 12:25 UTC (permalink / raw)
  To: mingo; +Cc: git

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 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-07-10 13:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-09  8:15 qgit-0.7 Marco Costalba
2005-07-10 10:01 ` qgit-0.7 Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2005-07-09 15:06 qgit-0.7 Marco Costalba
2005-07-10 12:25 qgit-0.7 Marco Costalba
2005-07-10 13:43 ` qgit-0.7 Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).