Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Sep 6, 2008
  1. Use PBGitRef for other refs

  2. Fix a crashing bug in PBGitRepository

    A ref might be less than 11 characters. In those cases, the substringToIndex
    would produce a fatal out-of-bounds.
Commits on Aug 28, 2008
  1. Grapher: draw ref names

    This simply draws the ref names in the cell, without any markup or correct
  2. Grapher: dereference annotated tags

    The for-each-ref construct used to return the tag sha for annotated tags.
    We're not really interested in that, so also display its referenced object.
  3. 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
Commits on Aug 18, 2008
  1. @ciaran

    Avoid showing .git dirs in the recent documents menu.

    ciaran authored committed
    Instead (for non-bare repos) add the directory above the .git dir.
  2. Allow switching of branches

  3. Read branches in a repository

    This adds a -readBranches function which allows you to read in all
    branches in our repository. It is used in the branch display popup box.
  4. @ciaran

    Separating out the logic for finding the .git dir for a given path in…

    ciaran authored
    … a repository, so it can be used in other places.
  5. @ciaran

    Since we are using NSDocument now it’s best to use the document fileU…

    ciaran authored
    …RL to store the .git path.
  6. @ciaran

    Completing the document-based app setup.

    ciaran authored
    Multiple repositories can now be opened by using the File → Open… menu option.
    Each document is a PBGitRepository with a PBDetailController controlling the window. PBRepositoryDocumentController is the document controller.
    When launched, the application will attempt to open a repository with the current directory as its path. If this fails it will display an open panel to allow the user to select one.
Commits on Jun 21, 2008
  1. Fix compilation warnings

Commits on Jun 17, 2008
  1. 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.
  2. PBGitRepository: Also request parents when doing our revwalk

    This is necessary for cool graph displaying, to be made.
  3. Make the revlist parsing more robust

    This uses an NSMutableArray to increase the currentLine if the buffer is
    full. This prevents very long messages from breaking the parsing.
    If we cannot parse the log line, simple ignore it.
  4. Optimize rev-list parsing

    This uses the C fgets() over the weird readLine implementation I found.
    It speeds up the rev-parsing significantly: we went from ~4.5 seconds
    on the git.git repo to ~0.95 seconds. And that's with the secret new date
  5. Delete temporary files when they are deallocated

    This will remove a lot of the stray files in the
    temporary dir. However, they won't be deleted on exit
    of the program. What to do about this?
Commits on Jun 15, 2008
  1. Add easy pipe handling library. Use it to find real git repository path

    This adds a new class, PBEasyPipe, which can do most of the pipe handling
    in an easy way.
    We use this to call `git rev-parse --git-dir` to find our current git
    repository. This means that we can now call GitX within a subdirectory :)
  2. Add a Tree displayer

    This displays the tree of a specific commit in an NSBrowser.
  3. Remove some debug output

  4. Load commit list in a separate thread

    This makes the initial startup much faster. Commits get loaded in a separate
    thread, and are displayed every 1000 commits.
    There is a bug in here that makes fails a click while it is loading the commit
    list. Not sure how to fix this, perhaps send the arrayController?
Commits on Jun 14, 2008
  1. Make git log --pretty < v1.5.6 compatible

    removes the %x01 syntax which is only available in 1.5.6 and later
  2. Guess user's git location

  3. Test

  4. Add an author field

  5. Add a search field and subject

Commits on Jun 13, 2008
  1. Use a separate Git class

Something went wrong with that request. Please try again.