Commit Graph

29 Commits

Author SHA1 Message Date
Pieter de Bie 1f7d745bb9 RevList: Decorate commits in the same thread
This simplifies matters greatly, and shouldn't be a huge performance
decrease (unless you have > 2 cores, but even then). This also
fixes a bug with the new --early-output, where commits would show
multiple times because they were outputted twice.
2008-09-28 12:14:13 +02:00
Pieter de Bie 0a80eb16cb RevList: Use --early-output to get some first hits quickly
This uses the --early-output feature of git logs to
display the first few commits quickly
2008-09-26 02:18:29 +02:00
Pieter de Bie 2f0131af0d RevList: Rewrite parents with path limiting
This appends the --children option to `git log`, so
that parents are correctly rewritten.
2008-09-26 01:59:22 +02:00
Pieter de Bie b257f0090a Fix compiler warnings 2008-09-24 17:19:58 +02:00
Pieter de Bie f705bd46ab Merge branch 'insta-decorate'
* insta-decorate:
  Add framework to support removing refs
  Show refs in HTML view
  Allow copy and pasting of web source by pressing 'c'
  Refactor cellInfo structure
  Only decorate if we need to
  Multithread test
  Add objective c diff header

Conflicts:
	GitX.xcodeproj/project.pbxproj
2008-09-19 19:22:40 +02:00
Pieter de Bie 1f783c91c4 Reload refs on refresh 2008-09-19 19:17:07 +02: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 48fa140813 Only decorate if we need to 2008-09-17 23:40:42 +02:00
Pieter de Bie eeb3309f1e Multithread test 2008-09-17 23:13:05 +02:00
Pieter de Bie 8c94e1b514 Optimize revision walker bindings
This simplifies the procedure used to walk revisions
by only loading in commits if the branch selection
was changed.
2008-09-14 15:09:20 +02:00
Pieter de Bie 69c340e4a8 Fix an out-of-bounds bug 2008-09-13 00:24:08 +02:00
Pieter de Bie 78e45bd22c Add support for --left-right
This draws rectangles instead of circles when someone supplies
--left-right as a GitX argument
2008-09-12 20:29:09 +02:00
Pieter de Bie 787c7892a2 Don't draw a graph when we have path specifier
This is currently broken. Gitk fixes it by recalculating the parents
of every commit, but this is expensive so it's not yet implemented.
2008-09-12 18:41:03 +02:00
Pieter de Bie 12e2044c34 Simplify PBGitRevList
We don't need the old initialisation anymore
2008-09-12 18:03:55 +02:00
Pieter de Bie 81d80cbbe4 Fix potential bug when reading in a revision that is not simple 2008-09-12 17:54:28 +02:00
Pieter de Bie e3af731305 Use a PBGitRevSpecifier to specify possible branches 2008-09-12 17:28:08 +02:00
Pieter de Bie b6b54bcca5 Display arguments if they are there 2008-09-12 14:46:43 +02:00
Pieter de Bie 68bf7621ed RevList: Use passed on parameters on specifying commits 2008-09-12 13:18:05 +02:00
Pieter de Bie d35786952c Merge branch 'display_tags'
* display_tags:
  Grapher: add coloring to ref labels
  Fix a crashing bug in PBGitRepository
  Add a PBGitRef, a class to represent refs
  Some minor cleanup of the commit-ref drawing.
  Grapher: draw ref names
  Grapher: dereference annotated tags
  Grapher: add first part of displaying refs
2008-09-06 22:31:29 +02:00
Pieter de Bie 63341f93cf Use --topo-order when asking for commits
This fixes a bug where for example the Git.git repository
did not display correctly, as some commits were emitted before
their parents
2008-08-28 20:34:09 +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
Ciarán Walsh ce37b09862 Merge commit 'pieter/master' into grapher
Conflicts:

	ApplicationController.m
	GitX.xcodeproj/project.pbxproj
	PBGitRepository.m
	PBGitRevList.m
2008-08-19 13:12:20 +01:00
Pieter de Bie d39648e8d4 Show the current checked out HEAD if no branch is selected 2008-08-19 00:25:32 +02:00
Pieter de Bie ec9861e543 Allow switching of branches 2008-08-18 23:54:48 +02:00
Pieter de Bie c55c916ace PBGitRevList: use --topo-order for better graphs
--topo-order makes sure that commits are output in a saner way. This
results in cleaner graphs.
2008-06-18 13:15:14 +02:00
Pieter de Bie 65cdf55ca8 Merge branch 'master' into grapher
* master:
  PBGitRevList: Fix parsing of date
2008-06-18 01:13:32 +02:00
Pieter de Bie 727703c2f1 PBGitRevList: Fix parsing of date
This slipped in when adding parent collecting.. oops
2008-06-18 01:12:39 +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
Pieter de Bie ede8892dc9 PBGitRepository: Abstract revision walking to new class PBGitRevList
The revision walking code made the PBGitRepository unclean. Especially if
we want to keep multiple PBGitRepository objects around (e.g. persistent
data store), it needs to be more simple. This neatly extracts the revision
walking code from the repository code.
2008-06-17 19:32:38 +02:00