Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Experimental fork of Pieter's nice git GUI for OS X. Includes: sidebar, fetch, pull, push, add remote, merge, cherry-pick, rebase, clone, clone to. Mac OS X 10.5+ (see wiki for screenshot)
Objective-C JavaScript C Other

This branch is 135 commits ahead, 181 commits behind andreberg:master

Fix creating Gists

GitHub changed their site to use SSL.

On error GitHub may return the "All Gists" page which will have several "gist: #", so check for the edit link instead.
latest commit 9dd29f6048
Nathan Kinsinger authored
Failed to load latest commit information.
Documentation Add release notes for 0.7.1
English.lproj Use Command-U for the Clone menu item
GitTest_DataModel.xcdatamodel Initial commit
GitX.xcodeproj Fix memory leaks
Images Improve search UI
MGScopeBar In Xcode put the folder for MGScopeBar in the Aux folder
Site UserManual: Clarify double-click in stage-lines
Sparkle.framework Update Sparkle Framework
html Fix creating Gists
libgit2 @ bda29d0 Include libgit2 as submodule and use it to store sha's
speed_test Grapher: add speed tests
test test/index: add more tests
.gitattributes Add objective c diff header
.gitignore .gitignore: Ignore everything but Xcode project settings
.gitmodules Include libgit2 as submodule and use it to store sha's
ApplicationController.h Add a "Report a problem" item to the Help menu
ApplicationController.m Add a "Report a problem" item to the Help menu
COPYING Add a README and license file
CWQuickLook.h Add support for QuickLook in 10.6+
Credits.html Add a link to GitX Homepage in the about dialog
DBPrefsWindowController.h Have the preferences window remember the last view
DBPrefsWindowController.m Fix issues reported by Xcode's build and analyze
GLFileView.h Fix the File/Tree view's vertical split view
GLFileView.m Fix the File/Tree view's vertical split view
GitX.h Bugfix: include missing scripting method definitions
GitX.sdef Bugfix: include missing scripting method definitions
GitXRelativeDateFormatter.h Add a relative date column to the commits list table view
GitXRelativeDateFormatter.m Add a relative date column to the commits list table view
GitXScriptingConstants.h Add search commands to the gitx cli
GitXTesting-Info.plist Testing: add missing file
GitXTextFieldCell.h Add the contextual menu to the other columns of the commit list
GitXTextFieldCell.m Add the contextual menu to the other columns of the commit list
GitX_Prefix.pch Rename to GitX
Info.plist Refactor the gitx CLI to use apple events and the scripting bridge
NSApplication+GitXScripting.h Add --init and --clone to gitx CLI and Applescript
NSApplication+GitXScripting.m Add --init and --clone to gitx CLI and Applescript
NSFileHandleExt.h Add a search field and subject
NSFileHandleExt.m Fix hanging and leaks in readLine
NSOutlineViewExt.h Sidebar: hook up branch switching
NSOutlineViewExt.m Sidebar: hook up branch switching
NSString_RegEx.h NSSTring_RegEx: Add support for regular expressions to NSString
NSString_RegEx.m Fix UTF-8 bug in NSString_RegEx
PBAddRemoteSheet.h Add Add Remote
PBAddRemoteSheet.m Add Add Remote
PBCLIProxy.h Add a diff window
PBCLIProxy.m CLIProxy: use the newly created NSURL for the workingDirectory
PBChangedFile.h Rename 'CachedChanges" to "StagedChanges" for greater consistency
PBChangedFile.m PBChangedFile: Add assert to make sure we're not doing something stupid
PBCloneRepositoryPanel.h Add --init and --clone to gitx CLI and Applescript
PBCloneRepositoryPanel.m Add --init and --clone to gitx CLI and Applescript
PBCloneRepsitoryToSheet.h Add Clone To… to the File menu
PBCloneRepsitoryToSheet.m Add Clone To… to the File menu
PBCollapsibleSplitView.h PBCollapsibleSplitView: Enable collapse/uncollapse using keys
PBCollapsibleSplitView.m PBCollapsibleSplitView: Enable collapse/uncollapse using keys
PBCommitHookFailedSheet.h Added a dialog for failing commit hooks
PBCommitHookFailedSheet.m Added a dialog for failing commit hooks
PBCommitHookFailedSheet.xib Added a dialog for failing commit hooks
PBCommitList.h Improve search UI
PBCommitList.m Improve search UI
PBCommitMessageView.h CommitView: Add a vertical line to the commit message
PBCommitMessageView.m Draw commit message line more accurately
PBCreateBranchSheet.h Add Checkout
PBCreateBranchSheet.m When creating a tracking branch pre-fill the branch name in the creat…
PBCreateTagSheet.h Add Create Tag
PBCreateTagSheet.m Add Create Tag
PBDiffWindow.xib Add a diff window
PBDiffWindowController.h Add Diff to contextual menus
PBDiffWindowController.m explicitly disable external diff so we get the results we need even i…
PBEasyFS.h Delete temporary files when they are deallocated
PBEasyFS.m Delete temporary files when they are deallocated
PBEasyPipe.h PBEasyPipe: Add method that allows you to specify the environment stuff
PBEasyPipe.m Fixing compiler warnings.
PBFileChangesTableView.h CommitView: move index functions to separate controller
PBFileChangesTableView.m Ticket #142: Add Show in Finder to Unstaged and Staged table views.
PBGitBinary.h Require Git 1.6.0 or higher
PBGitBinary.m Put at-sign in front of multi-line continued string.
PBGitCommit.h Create wrapper class around git_oid and use it
PBGitCommit.m Performance improvements for graphing commits
PBGitCommitController.h Fix the Stage view's horizontal split view
PBGitCommitController.m Fix the Stage view's horizontal split view
PBGitCommitView.xib Fix the Stage view's horizontal split view
PBGitConfig.h PBGitConfig: Change name of -initWithRepository:
PBGitConfig.m PBGitConfig: Change name of -initWithRepository:
PBGitDefaults.h Allow suppressing some of the modal warnings
PBGitDefaults.m Allow suppressing some of the modal warnings
PBGitGradientBarView.h Delete old toolbars and create new ones
PBGitGradientBarView.m Delete old toolbars and create new ones
PBGitGraphLine.h Use structs for graph lines
PBGitGraphLine.m Use structs for graph lines
PBGitGrapher.h PBGitCommit: Don't store refs
PBGitGrapher.mm Performance improvements for graphing commits
PBGitHistoryController.h Fix memory leaks
PBGitHistoryController.m Fix the history view's horizontal split view
PBGitHistoryGrapher.h Bugfix: fix duplicate commits in the history view
PBGitHistoryGrapher.m Update commits every 0.1 sec instead of every 1000 commits
PBGitHistoryList.h Select the commit as soon as it is available when updating the commit…
PBGitHistoryList.m Select the commit as soon as it is available when updating the commit…
PBGitHistoryView.xib Fix the File/Tree view's vertical split view
PBGitIndex.h Added a dialog for failing commit hooks
PBGitIndex.m Added a dialog for failing commit hooks
PBGitIndexController.h GitIndexController: reorder methods a bit, remove unnecessary stuff
PBGitIndexController.m Switch "Discard changes" panel to a window modal sheet
PBGitLane.h Create wrapper class around git_oid and use it
PBGitLane.mm PBGitLane: remove functions with NSString arguments
PBGitRef.h Add <PBGitRefish> protocol.
PBGitRef.m Add <PBGitRefish> protocol.
PBGitRefish.h Add <PBGitRefish> protocol.
PBGitRepository.h Add search commands to the gitx cli
PBGitRepository.m Always pull all tracking branches from the remote
PBGitRevList.h Add a cleanup method to the history list.
PBGitRevList.mm History: Show author/committer according to .mailmap
PBGitRevSpecifier.h Add a method declaration to PBGitRevSpecifier.h to silence a compiler…
PBGitRevSpecifier.m Add/modify convenience methods in PBRevSpecifier
PBGitRevisionCell.h Fix compilation with GCC 4.2
PBGitRevisionCell.m Improve search UI
PBGitSHA.h Create wrapper class around git_oid and use it
PBGitSHA.m Create wrapper class around git_oid and use it
PBGitSVBranchItem.h Update the GUI to be more iApp like
PBGitSVBranchItem.m Update the GUI to be more iApp like
PBGitSVFolderItem.h Update the GUI to be more iApp like
PBGitSVFolderItem.m Update the GUI to be more iApp like
PBGitSVOtherRevItem.h Update the GUI to be more iApp like
PBGitSVOtherRevItem.m Update the GUI to be more iApp like
PBGitSVRemoteBranchItem.h Update the GUI to be more iApp like
PBGitSVRemoteBranchItem.m Update the GUI to be more iApp like
PBGitSVRemoteItem.h Update the GUI to be more iApp like
PBGitSVRemoteItem.m Update the GUI to be more iApp like
PBGitSVStageItem.h Update the GUI to be more iApp like
PBGitSVStageItem.m Update the GUI to be more iApp like
PBGitSVTagItem.h Update the GUI to be more iApp like
PBGitSVTagItem.m Update the GUI to be more iApp like
PBGitSidebarController.h set state (checkmark) on view menu items to reflect active view
PBGitSidebarController.m set state (checkmark) on view menu items to reflect active view
PBGitSidebarView.xib Add a bottom content border/toolbar to the repository window
PBGitTree.h History
PBGitTree.m blame command should be "blame -p SHA -- filename"
PBGitWindowController.h Added a dialog for failing commit hooks
PBGitWindowController.m set state (checkmark) on view menu items to reflect active view
PBGitXMessageSheet.h Added a dialog for failing commit hooks
PBGitXMessageSheet.m Added a dialog for failing commit hooks
PBGitXMessageSheet.xib Show long messages and errors in a scroll view
PBGitXProtocol.h Add a GitX:// protocol handler
PBGitXProtocol.m Add a GitX:// protocol handler
PBGraphCellInfo.h Performance improvements for graphing commits
PBGraphCellInfo.m Cleanup the views when the repository window closes and stop memory l…
PBHistorySearchController.h Add a File Path search mode
PBHistorySearchController.m Add a File Path search mode
PBIconAndTextCell.h Hit testing and action sending
PBIconAndTextCell.m Reduce font size of staged/unstaged changes lists.
PBNSURLPathUserDefaultsTransfomer.h Add a preferences window
PBNSURLPathUserDefaultsTransfomer.m Add a preferences window
PBNiceSplitView.h History/CommitView: Use a nice-looking splitview divider
PBNiceSplitView.m History/CommitView: Use a nice-looking splitview divider
PBPrefsWindowController.h Allow suppressing some of the modal warnings
PBPrefsWindowController.m Allow suppressing some of the modal warnings
PBQLOutlineView.h First part of splitting views
PBQLOutlineView.m Add support for QuickLook in 10.6+
PBQLTextView.h Add support for QuickLook in 10.6+
PBQLTextView.m Add support for QuickLook in 10.6+
PBRefContextDelegate.h Add the contextual menu to the other columns of the commit list
PBRefController.h Add the contextual menu to the other columns of the commit list
PBRefController.m Allow suppressing some of the modal warnings
PBRefMenuItem.h Add methods dealing with menus needed for future features.
PBRefMenuItem.m Always pull all tracking branches from the remote
PBRemoteProgressSheet.h Fix "Duplicate declaration of method" error when using LLVM
PBRemoteProgressSheet.m Fixing compiler warnings.
PBRepositoryDocumentController.h Add --init and --clone to gitx CLI and Applescript
PBRepositoryDocumentController.m Add --init and --clone to gitx CLI and Applescript
PBServicesController.h Add a Complete SHA service
PBServicesController.m Add a Complete SHA service
PBSourceViewAction.h SideBar: Add ViewAction and ViewRemote objects
PBSourceViewAction.m SideBar: Add ViewAction and ViewRemote objects
PBSourceViewBadge.h Add a new cell class for the source view items
PBSourceViewBadge.m Add a new cell class for the source view items
PBSourceViewCell.h Add a new cell class for the source view items
PBSourceViewCell.m Add a new cell class for the source view items
PBSourceViewItem.h Update the GUI to be more iApp like
PBSourceViewItem.m Fixing compiler warnings.
PBSourceViewItems.h Update the GUI to be more iApp like
PBSourceViewRemote.h SideBar: Add ViewAction and ViewRemote objects
PBSourceViewRemote.m SideBar: Add ViewAction and ViewRemote objects
PBUnsortableTableHeader.h HistoryView: Allow tripple-clicking on header to undo sorting
PBUnsortableTableHeader.m HistoryView: Allow tripple-clicking on header to undo sorting
PBViewController.h Cleanup the views when the repository window closes and stop memory l…
PBViewController.m Cleanup the views when the repository window closes and stop memory l…
PBWebChangesController.h CommitView: Remove cruft
PBWebChangesController.m Cleanup the views when the repository window closes and stop memory l…
PBWebController.h Fix memory leaks
PBWebController.m Cleanup the views when the repository window closes and stop memory l…
PBWebDiffController.h Add a diff window
PBWebDiffController.m Cleanup the views when the repository window closes and stop memory l…
PBWebHistoryController.h Create wrapper class around git_oid and use it
PBWebHistoryController.m Cleanup the views when the repository window closes and stop memory l…
README Update documentation
Rakefile Always build in the project-relative build/ folder with `rake build_app`
RoundedRectangle.h Fix compiler warnings
RoundedRectangle.m Fix compiler warnings
SpeedTest-Info.plist Create a new SpeedTest target
Terminal.h Add Open in Terminal to the Repository menu.
UpdateKey.pem Add update key
build_libgit2.sh Update build settings to include x86_64 arch
feed.xml Update Sparke feed (oops)
gitx.icns Add a new icon in OS X style
gitx.m explicitly disable external diff so we get the results we need even i…
gitx_askpasswd_main.m Prettify the SSH password window
main.m Initial commit
speedtest.h Create a new SpeedTest target
speedtest.m Create a new SpeedTest target
version.plist Initial commit

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

Something went wrong with that request. Please try again.