Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
This fork is a digest of strong features from all around the project, including flavors added by yours truly. Grab a binary from Downloads and see if it is for you...
Objective-C C++ JavaScript Other

This branch is 272 commits ahead of pieter:master

Failed to load latest commit information.
Documentation Add a link to the user survey
English.lproj Move Remote segmented controls from Sidebar to Repository window's to…
GitTest_DataModel.xcdatamodel Initial commit
GitX.xcodeproj Add shell script methods to PBGitRepository.
Images Merge remote branch 'brotherbard/experimental' into local branch 'bb/…
Site UserManual: Clarify double-click in stage-lines
Sparkle.framework Add Sparkle update framework
html Stability: employ more sanity checks when parsing author details from…
libgit2 @ 74eff33 changed calls to git_oid_mkhex() to git_oid_to_string() to make it co…
scripts Make building and installing possible right from within Xcode.
speed_test Grapher: add speed tests
test test/index: add more tests
.gitattributes Add objective c diff header
.gitignore Display revision in the About Dialog
.gitmodules Update .gitmodules to point to the actual libgit2 host now.
ApplicationController.h Major overhaul of the handling/effect of CLI args (gitx/PBCLIProxy).
ApplicationController.m Remove debugging NSLog clutter and other left-over code.
BMDefines.h Add shell script methods to PBGitRepository.
BMScript.h Add shell script methods to PBGitRepository.
BMScript.m Add shell script methods to PBGitRepository.
COPYING Add a README and license file
CWQuickLook.h Wrap CWQuicklook.h in deployment target defines so it compiles cleanl…
Common.xcconfig Simplify Xcode's build settings on project and target level by using …
Credits.html Add a link to GitX Homepage in the about dialog
DBPrefsWindowController.h Post merge fix: Since we're 10.5 SDK again, we cannot use non-informa…
DBPrefsWindowController.m Have the preferences window remember the last view
Debug.xcconfig Move some settings from Install.xcconfig that are intended for Releas…
GitXTesting-Info.plist Testing: add missing file
GitX_Prefix.pch Rename to GitX
Info.plist About-Panel: Show git-describe using Info.plist
Install.xcconfig Install gitx (the CLI) via Install.sh.
NSFileHandleExt.h Add a search field and subject
NSFileHandleExt.m Apply Nathan Kissinger's bugfixes to NSFileHandleExt.m (s. GitX Googl…
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 Bug fix: Various smaller fixes regarding GC, dot notation, etc...
NSString_Truncate.h Add a string truncation category because on a very large commit the s…
NSString_Truncate.m Add a string truncation category because on a very large commit the s…
PBAddRemoteSheet.h Add Add Remote
PBAddRemoteSheet.m Add Add Remote
PBCLIProxy.h Add DO directional/value qualifier keywords to PBCLIProxy
PBCLIProxy.m Remove debugging NSLog clutter and other left-over code.
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 Clone Repository
PBCloneRepositoryPanel.m Add Clone Repository
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
PBCommitList.h Bug fix: correct visible index scrolling in PBGitHistoryController an…
PBCommitList.m Bug fix: correct visible index scrolling in PBGitHistoryController an…
PBCommitMessageView.h CommitView: Add a vertical line to the commit message
PBCommitMessageView.m Fix up the stage view's commit message text view
PBCreateBranchSheet.h Add Checkout
PBCreateBranchSheet.m Add Checkout
PBCreateTagSheet.h Add Create Tag
PBCreateTagSheet.m Add Create Tag
PBDiffWindow.xib
PBDiffWindowController.h Add Diff to contextual menus
PBDiffWindowController.m Add Diff to contextual menus
PBEasyFS.h Delete temporary files when they are deallocated
PBEasyFS.m Delete temporary files when they are deallocated
PBEasyPipe.h Bug fix: Change improper usage of dot notation.
PBEasyPipe.m Bugfix: Bad files descriptor should be history now.
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 Add in left-out (id) return labels to some methods in PBGitCommit.
PBGitCommit.m Add -description and/or -debugDescription methods to PBGitCommit, PBG…
PBGitCommitController.h Add a bottom content border/toolbar to the repository window
PBGitCommitController.m Merge remote branch 'brotherbard/experimental' into local branch 'bb/…
PBGitCommitView.xib Remove the lower toolbar from the history and stage views
PBGitConfig.h Code cleanup: Remove unneeded #imports, empty methods, declare id ret…
PBGitConfig.m Code cleanup: Remove unneeded #imports, empty methods, declare id ret…
PBGitDefaults.h Add a preference option for truncating very large info sheet content …
PBGitDefaults.m Add a preference option for truncating very large info sheet content …
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 FIX: memory leak(delete will not be called) and graph glitch
PBGitGrapher.mm FIX: bug
PBGitHistoryController.h Add a NSUserDefaultsDidChangeNotification listener to PBGitHistoryCon…
PBGitHistoryController.m Remove debugging NSLog clutter and other left-over code.
PBGitHistoryGrapher.h Add branch view filters to history scope bar
PBGitHistoryGrapher.m Add branch view filters to history scope bar
PBGitHistoryList.h Add branch view filters to history scope bar
PBGitHistoryList.m Add branch view filters to history scope bar
PBGitHistoryView.xib Improving configuration of NSArrayController in PBGitHistoryView.
PBGitIndex.h PBGitIndex: post notifications when index stuff fails
PBGitIndex.m Merge remote branch 'brotherbard/experimental' into local branch 'bb/…
PBGitIndexController.h GitIndexController: reorder methods a bit, remove unnecessary stuff
PBGitIndexController.m Switch "Discard changes" panel to a window modal sheet
PBGitLane.h Fix compilation with GCC 4.2
PBGitLane.mm PBGitLane: remove functions with NSString arguments
PBGitRef.h Add -debugDescription and -description to PBGitRef
PBGitRef.m Add -description and/or -debugDescription methods to PBGitCommit, PBG…
PBGitRefish.h Add <PBGitRefish> protocol.
PBGitRepository.h Add shell script methods to PBGitRepository.
PBGitRepository.m Add shell script methods to PBGitRepository.
PBGitRevList.h Add branch view filters to history scope bar
PBGitRevList.mm Merge remote branch 'brotherbard/experimental' into local branch 'bb/…
PBGitRevSpecifier.h
PBGitRevSpecifier.m Major overhaul of the handling/effect of CLI args (gitx/PBCLIProxy).
PBGitRevisionCell.h Fix compilation with GCC 4.2
PBGitRevisionCell.m Fix drawing ref labels on the next tableview column
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 Major overhaul of the handling/effect of CLI args (gitx/PBCLIProxy).
PBGitSidebarController.m Remove debugging NSLog clutter and other left-over code.
PBGitSidebarView.xib Move Remote segmented controls from Sidebar to Repository window's to…
PBGitTree.h Bug fix: Make QuickLook panel work by using the now public API.
PBGitTree.m Post merge fix: Delete some left over code from my 10.6 QuickLook pre…
PBGitWindowController.h Declare sidebarController property as __weak in PBGitWindowController.
PBGitWindowController.m Declare sidebarController property as __weak in PBGitWindowController.
PBGitXErrors.h Add new Error constants to PBGitXErrors, mostly for CLI support
PBGitXErrors.m Add new Error constants to PBGitXErrors, mostly for CLI support
PBGitXProtocol.h Add a GitX:// protocol handler
PBGitXProtocol.m Add a GitX:// protocol handler
PBGraphCellInfo.h PBGraphCellInfo: remove unneeded data member
PBGraphCellInfo.m Use structs for graph lines
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 Add panel for integration settings.
PBPrefsWindowController.m Give the showHideAllFiles action at least a chance to call the public…
PBQLOutlineView.h First part of splitting views
PBQLOutlineView.m Merge remote branch 'brotherbard/experimental' into local branch 'bb/…
PBQLTextView.h Add support for QuickLook in 10.6+
PBQLTextView.m Add support for QuickLook in 10.6+
PBRefContextDelegate.h Add methods dealing with menus needed for future features.
PBRefController.h Delete some non functional left overs from a previous merge.
PBRefController.m Set a copy of the "Push" message strings for the alert panel message …
PBRefMenuItem.h Add methods dealing with menus needed for future features.
PBRefMenuItem.m Add Diff to contextual menus
PBRemoteProgressSheet.h Remote progress sheet
PBRemoteProgressSheet.m Add a string truncation category because on a very large commit the s…
PBRepositoryDocumentController.h Rudimentary clone capability from the File menu.
PBRepositoryDocumentController.m Override openDocumentWithContentsOfURL:... to provide sanity checks f…
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 Remove debugging NSLog clutter and other left-over code.
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 Bug fix: Various smaller fixes regarding GC, dot notation, etc...
PBUnsortableTableHeader.m Bug fix: Various smaller fixes regarding GC, dot notation, etc...
PBViewController.h Add readonly __weak superController access to PBViewController.
PBViewController.m Add readonly __weak superController access to PBViewController.
PBWebChangesController.h CommitView: Remove cruft
PBWebChangesController.m Switch "Discard Hunk" panel to a window modal sheet
PBWebController.h Fix memory leaks
PBWebController.m SCNetworkCheckReachabilityByName will be deprecated anyways, so repla…
PBWebDiffController.h Add a diff window
PBWebDiffController.m Add Diff to contextual menus
PBWebHistoryController.h GitRevisionCell: Allow right-clicking on refs
PBWebHistoryController.m Reinstate the -finalize method to remove ourselves as observer.
README Update documentation
Rakefile Always build in the project-relative build/ folder with `rake build_app`
Release.xcconfig Switch DEBUG_INFORMATION_FORMAT from DWARF with dSYM to DWARF in Rele…
RoundedRectangle.h Fix compiler warnings
RoundedRectangle.m
SpeedTest-Info.plist Create a new SpeedTest target
Terminal.h Add Open in Terminal to the Repository menu.
feed.xml Update Sparke feed (oops)
gitx.icns Add a new icon in OS X style
gitx.m Major overhaul of the handling/effect of CLI args (gitx/PBCLIProxy).
gitx_askpasswd_main.m Install gitx (the CLI) via Install.sh.
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.