Commit Graph

11 Commits

Author SHA1 Message Date
Pieter de Bie ddc9ae7654 PBGitCommit: Don't store refs
We already keep this dictionary in our repository. Rather than adding a
pointer to it on every commit in our rev walk, just look it up lazily in the
dictionary when we need to. That cuts down some time in the initial revwalk
and also removes some stupid code :)
2009-01-25 02:14:09 +00:00
Pieter de Bie b4c2a4f3fa GitGrapher: free pointers on dealloc
This frees the std vector and its contents on
dealloc. We also fresh up the header a bit
2008-11-25 17:43:10 +01:00
Pieter de Bie d2eafc2d52 Include libgit2 as submodule and use it to store sha's
This reduces GitX's memory usage and makes some operations much faster,
like graphing, by having a cheaper comparison
2008-11-24 22:53:48 +01:00
Pieter de Bie cef35ac7ce GitGrapher: Rewrite looping code to C++
This makes the revwalking faster by not creating as many NSObjects as before.
2008-11-24 22:32:42 +01:00
Pieter de Bie 6e978dcea4 Refactor cellInfo structure
This makes the PBGitRevisionCell a bit nicer by retrieving all values
from the PBGitCommit object itself, and using another NSTextFieldCell to
draw the text.

This mean that PBGitGrapher now stores its information in the PBGitCommit's,
rather than in a custom grapher array. Also, because we don't need the
grapher to display refs anymore, the ref labels are also displayed when
using path limiting (for example, 'gitx -- Makefile').
2008-09-18 01:27:05 +02:00
Pieter de Bie eeb3309f1e Multithread test 2008-09-17 23:13:05 +02:00
Pieter de Bie 9bfccb5ea5 Grapher: add first part of displaying refs
This adds the "hasRef" boolean member in PBGitCellInfo which is set to true
if the specific commit has symbolic refs.

This is the first part in supporting labels just like gitk has. For now,
commits with refs are just displayed with a red circle.

Things that need to be done to support all refs:

	* Make the NSDictionary in PBGitRepository contain arrays of refs,
	  not a single string
	* Make PBGitGrapher store all refs of a commit in the PBGitCellInfo
	* Figure out a nice way to display the labels in PBGitRevisionCell
2008-08-28 17:29:34 +02:00
Pieter de Bie 727e42fe1d Refactor and rename graph code 2008-08-27 23:31:38 +02:00
Pieter de Bie bbeedd10ce Rewrite the graphing code
This uses more Cocoa classes to draw the lines, making it easier to
understand and hopefully maintain.

Furthermore, we use less memory now, which is nice, but all the
dynamic arrays probably mean more CPU usage.
2008-08-27 21:51:42 +02:00
Pieter de Bie df490103f6 PBGitGrapher: Improve the grapher
This takes care of most situations. However, we don't have enough space
in the upperMapping to display multiple lines. Therefore we need to
improve it later on.
2008-06-18 13:14:40 +02:00
Pieter de Bie 52d9402513 First take on graphing
This implements some sort of graph shower like Gitk has. However, it still
has bugs and can't do color very well.
2008-06-18 01:02:29 +02:00