A gitk clone for OS X
Objective-C JavaScript Ruby C
Latest commit a256210 Oct 2, 2009 @pieter Testing: add missing file
Failed to load latest commit information.
Documentation Add a link to the user survey Sep 7, 2009
English.lproj Add preferences for opening things at launch. Sep 7, 2009
GitTest_DataModel.xcdatamodel Initial commit Jun 13, 2008
GitX.xcodeproj Update testing framework Oct 1, 2009
Images Add a preferences window Jan 19, 2009
Site UserManual: Clarify double-click in stage-lines Sep 9, 2009
Sparkle.framework Add Sparkle update framework Sep 7, 2008
html Merge branch 'pu/pb/index_refactor' Sep 17, 2009
libgit2 @ bda29d0 Include libgit2 as submodule and use it to store sha's Nov 24, 2008
speed_test Grapher: add speed tests Jun 21, 2008
test test/index: add more tests Oct 1, 2009
.gitattributes Add objective c diff header Sep 17, 2008
.gitignore Display revision in the About Dialog Mar 24, 2009
.gitmodules Include libgit2 as submodule and use it to store sha's Nov 24, 2008
ApplicationController.h About-Panel: Show git-describe using Info.plist Sep 6, 2009
ApplicationController.m Add preferences for opening things at launch. Sep 7, 2009
COPYING Add a README and license file Jun 21, 2008
CWQuickLook.h Add QuickLook support in tree view Jun 17, 2008
Credits.html Add a link to GitX Homepage in the about dialog Jan 25, 2009
DBPrefsWindowController.h Add a preferences window Jan 19, 2009
DBPrefsWindowController.m Add a preferences window Jan 19, 2009
GitXTesting-Info.plist Testing: add missing file Oct 2, 2009
GitX_Prefix.pch Rename to GitX Jun 16, 2008
Info.plist About-Panel: Show git-describe using Info.plist Sep 6, 2009
NSFileHandleExt.h Add a search field and subject Jun 14, 2008
NSFileHandleExt.m Use NSISOLatin1 encoding instead of ASCII Jan 19, 2009
NSString_RegEx.h NSSTring_RegEx: Add support for regular expressions to NSString Jun 11, 2009
NSString_RegEx.m Fix UTF-8 bug in NSString_RegEx Sep 14, 2009
PBCLIProxy.h Add a diff window Oct 21, 2008
PBCLIProxy.m CLIProxy: pass on the directory in which the `gitx` command is run Sep 13, 2009
PBChangedFile.h Rename 'CachedChanges" to "StagedChanges" for greater consistency May 28, 2009
PBChangedFile.m PBChangedFile: Add assert to make sure we're not doing something stupid Aug 28, 2009
PBCollapsibleSplitView.h PBCollapsibleSplitView: Enable collapse/uncollapse using keys Jul 7, 2009
PBCollapsibleSplitView.m PBCollapsibleSplitView: Enable collapse/uncollapse using keys Jul 7, 2009
PBCommitList.h Get rid of some unnecessary casts May 27, 2009
PBCommitList.m PBCollapsibleSplitView: Enable collapse/uncollapse using keys Jul 7, 2009
PBCommitMessageView.h CommitView: Add a vertical line to the commit message Oct 21, 2008
PBCommitMessageView.m CommitView: Add a vertical line to the commit message Oct 21, 2008
PBDiffWindow.xib Add a diff window Oct 21, 2008
PBDiffWindowController.h Add a diff window Oct 21, 2008
PBDiffWindowController.m Add a diff window Oct 21, 2008
PBEasyFS.h Delete temporary files when they are deallocated Jun 17, 2008
PBEasyFS.m Delete temporary files when they are deallocated Jun 17, 2008
PBEasyPipe.h PBEasyPipe: Add method that allows you to specify the environment stuff Jun 11, 2009
PBEasyPipe.m PBEasyPipe: Add method that allows you to specify the environment stuff Jun 11, 2009
PBFileChangesTableView.h CommitView: move index functions to separate controller Nov 18, 2008
PBFileChangesTableView.m Ticket #142: Add Show in Finder to Unstaged and Staged table views. May 28, 2009
PBGitBinary.h Require Git 1.6.0 or higher Sep 8, 2009
PBGitBinary.m Require Git 1.6.0 or higher Sep 7, 2009
PBGitCommit.h Fix moving of refs Mar 23, 2009
PBGitCommit.m HistoryView: don't load in commit information in a separate thread an… Sep 17, 2009
PBGitCommitController.h Remove cruft Sep 13, 2009
PBGitCommitController.m PBGitIndex: post notifications when index stuff fails Sep 13, 2009
PBGitCommitView.xib GitIndexController: reorder methods a bit, remove unnecessary stuff Sep 13, 2009
PBGitConfig.h Add a way to retrieve values from .git/config files Oct 14, 2008
PBGitConfig.m PBGitConfig: Add missing sentinel Jun 15, 2009
PBGitDefaults.h Add preferences for opening things at launch. Sep 7, 2009
PBGitDefaults.m Add preferences for opening things at launch. Sep 7, 2009
PBGitGraphLine.h Use structs for graph lines Nov 24, 2008
PBGitGraphLine.m Use structs for graph lines Nov 24, 2008
PBGitGrapher.h PBGitCommit: Don't store refs Jan 25, 2009
PBGitGrapher.mm PBGitCommit: Don't store refs Jan 25, 2009
PBGitHistoryController.h Add PBCollapsibleSplitView as subclass of PBNiceSplitView Jul 7, 2009
PBGitHistoryController.m HistoryView: Remove raw view Sep 17, 2009
PBGitHistoryView.xib HistoryView: Remove raw view Sep 17, 2009
PBGitIndex.h PBGitIndex: post notifications when index stuff fails Sep 13, 2009
PBGitIndex.m GitIndex: fix status update when changed file is deleted Oct 1, 2009
PBGitIndexController.h GitIndexController: reorder methods a bit, remove unnecessary stuff Sep 13, 2009
PBGitIndexController.m GitIndexController: reorder methods a bit, remove unnecessary stuff Sep 13, 2009
PBGitLane.h Fix compilation with GCC 4.2 Apr 29, 2009
PBGitLane.mm PBGitLane: remove functions with NSString arguments Nov 25, 2008
PBGitRef.h Add a PBGitRef, a class to represent refs Sep 6, 2008
PBGitRef.m Show refs in HTML view Sep 19, 2008
PBGitRepository.h PBGitRepository: Add support for changing the environment when execut… Jun 11, 2009
PBGitRepository.m PBGitRepository: Clean up the readFromURL: method Jun 20, 2009
PBGitRevList.h GitRevList: replace 'id' with PBGitRepository Sep 13, 2009
PBGitRevList.mm GitRevList: run the log command in the correct directory when available Sep 13, 2009
PBGitRevSpecifier.h RevSpecifier: Add support for a working directory Sep 13, 2009
PBGitRevSpecifier.m RevSpecifier: Add support for a working directory Sep 13, 2009
PBGitRevisionCell.h Fix compilation with GCC 4.2 Apr 29, 2009
PBGitRevisionCell.m HistoryView: Change the way the HEAD is displayed Jun 11, 2009
PBGitTree.h PBGitTree: Don't try to print binary-file contents Sep 7, 2009
PBGitTree.m PBGitTree: Improve binary-file decision Sep 8, 2009
PBGitWindowController.h PBGitWindowController: Use beginSheetModalForWindow instead of runModal Jun 9, 2009
PBGitWindowController.m Set keyboard focus reasonably when switching between views. Jul 7, 2009
PBGitXProtocol.h Add a GitX:// protocol handler Nov 1, 2008
PBGitXProtocol.m Add a GitX:// protocol handler Nov 1, 2008
PBGraphCellInfo.h PBGraphCellInfo: remove unneeded data member Nov 24, 2008
PBGraphCellInfo.m Use structs for graph lines Nov 24, 2008
PBIconAndTextCell.h Hit testing and action sending Sep 23, 2008
PBIconAndTextCell.m Reduce font size of staged/unstaged changes lists. Jul 7, 2009
PBNSURLPathUserDefaultsTransfomer.h Add a preferences window Jan 19, 2009
PBNSURLPathUserDefaultsTransfomer.m Add a preferences window Jan 19, 2009
PBNiceSplitView.h History/CommitView: Use a nice-looking splitview divider Oct 31, 2008
PBNiceSplitView.m History/CommitView: Use a nice-looking splitview divider Oct 31, 2008
PBPrefsWindowController.h Add panel for integration settings. Jan 19, 2009
PBPrefsWindowController.m Add panel for integration settings. Jan 19, 2009
PBQLOutlineView.h First part of splitting views Sep 19, 2008
PBQLOutlineView.m HistoryController: Use a programatically created context menu Jun 16, 2009
PBRefContextDelegate.h GitRevisionCell: Allow right-clicking on refs Nov 1, 2008
PBRefController.h Tickets #151 and #155: check for illegal branch names before creating. May 28, 2009
PBRefController.m PBGitWindowController: Use beginSheetModalForWindow instead of runModal Jun 9, 2009
PBRefMenuItem.h RefController: Refactor ref menu to its own class Nov 1, 2008
PBRefMenuItem.m Added very basic tag info menu item and alert. May 18, 2009
PBRepositoryDocumentController.h Add a --commit option to the CLI client Sep 26, 2008
PBRepositoryDocumentController.m Fix many gcc 4.2 compiler warnings May 18, 2009
PBServicesController.h Add a Complete SHA service Oct 27, 2008
PBServicesController.m Add a Complete SHA service Oct 27, 2008
PBUnsortableTableHeader.h HistoryView: Allow tripple-clicking on header to undo sorting Oct 3, 2008
PBUnsortableTableHeader.m HistoryView: Allow tripple-clicking on header to undo sorting Oct 3, 2008
PBViewController.h Set keyboard focus reasonably when switching between views. Jul 7, 2009
PBViewController.m Set keyboard focus reasonably when switching between views. Jul 7, 2009
PBWebChangesController.h CommitView: Remove cruft Sep 13, 2009
PBWebChangesController.m Remove cruft Sep 13, 2009
PBWebController.h Fix memory leaks Nov 26, 2008
PBWebController.m Make confirmation of Gists optional Mar 26, 2009
PBWebDiffController.h Add a diff window Oct 21, 2008
PBWebDiffController.m Fix many gcc 4.2 compiler warnings May 18, 2009
PBWebHistoryController.h GitRevisionCell: Allow right-clicking on refs Nov 1, 2008
PBWebHistoryController.m HistoryView: don't load in commit information in a separate thread an… Sep 17, 2009
README Update documentation Sep 12, 2008
Rakefile Always build in the project-relative build/ folder with `rake build_app` Dec 15, 2008
RoundedRectangle.h Fix compiler warnings Sep 24, 2008
RoundedRectangle.m Fix compiler warnings Sep 24, 2008
SpeedTest-Info.plist Create a new SpeedTest target Nov 24, 2008
feed.xml Update Sparke feed (oops) Nov 17, 2008
gitx.icns Add a new icon in OS X style Sep 20, 2008
gitx.m Merge branch 'stable' Jun 20, 2009
main.m Initial commit Jun 13, 2008
speedtest.h Create a new SpeedTest target Nov 24, 2008
speedtest.m Create a new SpeedTest target Nov 24, 2008
version.plist Initial commit Jun 13, 2008

README

GitX
---------------

# What is GitX?

GitX is a gitk like clone written specifically for OS X Leopard and higher.
This means that it has a native interface and tries to integrate with the
operating system as good as possible. Examples of this are drag and drop
support and QuickLook support.


# Features

The project is currently still in its starting phases. As time goes on,
hopefully more features will be added. Currently GitX supports the following:

  * History browsing of your repository
  * See a nicely formatted diff of any revision
  * Search based on author or revision subject
  * Look at the complete tree of any revision
    * Preview any file in the tree in a text view or with QuickLook
    * Drag and drop files out of the tree view to copy them to your system
   * Support for all parameters git rev-list has
# License

GitX is licensed under the GPL version 2. For more information, see the attached COPYING file.

# Downloading

GitX is currently hosted at GitHub. It's project page can be found at
http://github.com/pieter/gitx. Recent binary releases can be found at
http://github.com/pieter/gitx/wikis.

If you wish to follow GitX development, you can download the source code
through git:

  git clone git://github.com/pieter/gitx

# Installation

The easiest way to get GitX running is to download the binary release from the
wiki. If you wish to compile it yourself, you will need XCode 3.0 or later. As
GitX makes use of features available only on Leopard (such as garbage
collection), you will not be able to compile it on previous versions of OS X.

To compile GitX, open the GitX.xcodeproj file and hit "Build".

# Usage

GitX itself is fairly simple. Most of its power is in the 'gitx' binary, which
you should install through the menu. the 'gitx' binary supports most of git
rev-list's arguments. For example, you can run `gitx --all' to display all
branches in the repository, or `gitx -- Documentation' to only show commits
relating to the 'Documentation' subdirectory. With `gitx -Shaha', gitx will
only show commits that contain the word 'haha'. Similarly, with 'gitx
v0.2.1..', you will get a list of all commits since version 0.2.1.

# Helping out

Any help on GitX is welcome. GitX is programmed in Objective-C, but even if
you are not a programmer you can do useful things. A short selection:

  * Create a nice icon;
  * Help with the Javascript/HTML views, such as the diff view;
  * File bug reports and feature requests.

A TODO list can be found on the wiki: http://github.com/pieter/gitx/wikis/todo