├── .gitattributes ├── .gitignore ├── AIURLAdditions.h ├── AIURLAdditions.m ├── ApplicationController.h ├── ApplicationController.m ├── BMDefines.h ├── BMScript.h ├── BMScript.m ├── COPYING ├── CWQuickLook.h ├── Commands ├── PBCommand.h ├── PBCommand.m ├── PBCommandFactory.h ├── PBCommandWithParameter.h ├── PBCommandWithParameter.m ├── PBOpenDocumentCommand.h ├── PBOpenDocumentCommand.m ├── PBRemoteCommandFactory.h ├── PBRemoteCommandFactory.m ├── PBRevealWithFinderCommand.h ├── PBRevealWithFinderCommand.m ├── PBStashCommandFactory.h └── PBStashCommandFactory.m ├── Common.xcconfig ├── Controller ├── GlobalProtocols.h ├── PBArgumentPickerController.h ├── PBArgumentPickerController.m ├── PBGitResetController.h ├── PBGitResetController.m ├── PBSubmoduleController.h └── PBSubmoduleController.m ├── Credits.html ├── DBPrefsWindowController.h ├── DBPrefsWindowController.m ├── Debug.xcconfig ├── Documentation ├── CallingFromWebKit.txt ├── GraphingAPI.txt ├── README └── ReleaseNotes │ ├── v0.2.1.txt │ ├── v0.2.txt │ ├── v0.3.1.txt │ ├── v0.3.txt │ ├── v0.4.1.txt │ ├── v0.4.txt │ ├── v0.5.txt │ ├── v0.6.1.txt │ ├── v0.6.2.txt │ ├── v0.6.3.txt │ ├── v0.6.txt │ ├── v0.7.1.txt │ └── v0.7.txt ├── English.lproj ├── InfoPlist.strings ├── MainMenu.xib ├── PBAddRemoteSheet.xib ├── PBChangeRemoteUrlSheet.xib ├── PBCloneRepositoryPanel.xib ├── PBCloneRepsitoryToSheet.xib ├── PBCreateBranchSheet.xib ├── PBCreateTagSheet.xib ├── PBRemoteProgressSheet.xib ├── PBRenameSheet.xib ├── Preferences.xib └── RepositoryWindow.xib ├── File Markers ├── added_file.png ├── conflicted_file.png ├── deleted_file.png ├── ignored_file.png ├── modified_file.png ├── renamed_file.png └── unversioned_file.png ├── FileViewer ├── FileViewer.xib ├── FileViewerController.h └── FileViewerController.m ├── GLFileView.h ├── GLFileView.m ├── GitTest_DataModel.xcdatamodel ├── elements └── layout ├── GitX.h ├── GitX.sdef ├── GitX.xcodeproj └── project.pbxproj ├── GitXRelativeDateFormatter.h ├── GitXRelativeDateFormatter.m ├── GitXScriptingConstants.h ├── GitXTesting-Info.plist ├── GitXTextFieldCell.h ├── GitXTextFieldCell.m ├── GitX_Prefix.pch ├── Images ├── AddBranchTemplate.png ├── AddBranchTemplate.psd ├── AddLabelTemplate.png ├── AddLabelTemplate.psd ├── AddRemote.acorn ├── AddRemote.png ├── AddRemoteBranchFireworksTemplate.png ├── AddRemoteBranchTemplate.png ├── Branch.png ├── CherryPickTemplate.png ├── CloneRepositoryFireworksTemplate.png ├── CloneRepositoryTemplate.png ├── CommitViewTemplate.png ├── CommitViewTemplate.psd ├── DetailViewTemplate.png ├── FetchTemplate.png ├── HistoryViewTemplate.png ├── HistoryViewTemplate.psd ├── MergeTemplate.png ├── Preferences │ └── Updates.png ├── PullFireworksTemplate.png ├── PullPopUpFireworksTemplate.png ├── PullPopUpTemplate.png ├── PullTemplate.png ├── PushFireworksTemplate.png ├── PushPopUpFireworksTemplate.png ├── PushPopUpTemplate.png ├── PushTemplate.png ├── RebaseFireworksTemplate.png ├── RebasePopUpFireworksTemplate.png ├── RebasePopUpTemplate.png ├── RebaseTemplate.png ├── RemoteBranch.png ├── StageView.png ├── Tag.png ├── add_branch.psd ├── branch.tiff ├── deleted_file.png ├── empty_file.png ├── file_template.psd ├── folder.tiff ├── gitx_icon.psd ├── new_file.png ├── remote.tiff ├── rewindImage.pdf ├── site_download_background.png └── tag.tiff ├── Info.plist ├── Install.xcconfig ├── MGScopeBar ├── English.lproj │ ├── InfoPlist.strings │ └── MainMenu.xib ├── Info.plist ├── MGRecessedPopUpButtonCell.h ├── MGRecessedPopUpButtonCell.m ├── MGScopeBar.h ├── MGScopeBar.m ├── MGScopeBar.xcodeproj │ ├── .svn │ │ ├── all-wcprops │ │ ├── entries │ │ ├── prop-base │ │ │ └── TemplateIcon.icns.svn-base │ │ └── text-base │ │ │ ├── TemplateIcon.icns.svn-base │ │ │ └── project.pbxproj.svn-base │ ├── TemplateIcon.icns │ ├── laullon.pbxuser │ ├── laullon.perspectivev3 │ └── project.pbxproj ├── MGScopeBarDelegateProtocol.h ├── MGScopeBar_Prefix.pch ├── ReadMe.txt ├── Source Code License.rtf └── TODO ├── Model ├── PBGitStash.h ├── PBGitStash.m ├── PBGitSubmodule.h ├── PBGitSubmodule.m └── PBPresentable.h ├── NSApplication+GitXScripting.h ├── NSApplication+GitXScripting.m ├── NSFileHandleExt.h ├── NSFileHandleExt.m ├── NSOutlineViewExt.h ├── NSOutlineViewExt.m ├── NSString_RegEx.h ├── NSString_RegEx.m ├── NSString_Truncate.h ├── NSString_Truncate.m ├── PBAddRemoteSheet.h ├── PBAddRemoteSheet.m ├── PBArgumentPicker.xib ├── PBCLIProxy.h ├── PBCLIProxy.m ├── PBChangeRemoteUrlSheet.h ├── PBChangeRemoteUrlSheet.m ├── PBChangedFile.h ├── PBChangedFile.m ├── PBCloneRepositoryPanel.h ├── PBCloneRepositoryPanel.m ├── PBCloneRepsitoryToSheet.h ├── PBCloneRepsitoryToSheet.m ├── PBCommandMenuItem.h ├── PBCommandMenuItem.m ├── PBCommitHookFailedSheet.h ├── PBCommitHookFailedSheet.m ├── PBCommitHookFailedSheet.xib ├── PBCommitList.h ├── PBCommitList.m ├── PBCommitMessageView.h ├── PBCommitMessageView.m ├── PBCreateBranchSheet.h ├── PBCreateBranchSheet.m ├── PBCreateTagSheet.h ├── PBCreateTagSheet.m ├── PBDiffWindow.xib ├── PBDiffWindowController.h ├── PBDiffWindowController.m ├── PBEasyFS.h ├── PBEasyFS.m ├── PBEasyPipe.h ├── PBEasyPipe.m ├── PBFileChangesTableView.h ├── PBFileChangesTableView.m ├── PBGitBinary.h ├── PBGitBinary.m ├── PBGitCommit.h ├── PBGitCommit.m ├── PBGitCommitController.h ├── PBGitCommitController.m ├── PBGitCommitView.xib ├── PBGitConfig.h ├── PBGitConfig.m ├── PBGitDefaults.h ├── PBGitDefaults.m ├── PBGitGradientBarView.h ├── PBGitGradientBarView.m ├── PBGitGraphLine.h ├── PBGitGraphLine.m ├── PBGitGrapher.h ├── PBGitGrapher.mm ├── PBGitHistoryController.h ├── PBGitHistoryController.m ├── PBGitHistoryGrapher.h ├── PBGitHistoryGrapher.m ├── PBGitHistoryList.h ├── PBGitHistoryList.m ├── PBGitHistoryView.xib ├── PBGitIndex.h ├── PBGitIndex.m ├── PBGitIndexController.h ├── PBGitIndexController.m ├── PBGitLane.h ├── PBGitLane.mm ├── PBGitMenuItem.h ├── PBGitMenuItem.m ├── PBGitRef.h ├── PBGitRef.m ├── PBGitRefish.h ├── PBGitRepository.h ├── PBGitRepository.m ├── PBGitRevList.h ├── PBGitRevList.mm ├── PBGitRevSpecifier.h ├── PBGitRevSpecifier.m ├── PBGitRevisionCell.h ├── PBGitRevisionCell.m ├── PBGitSVBranchItem.h ├── PBGitSVBranchItem.m ├── PBGitSVFolderItem.h ├── PBGitSVFolderItem.m ├── PBGitSVOtherRevItem.h ├── PBGitSVOtherRevItem.m ├── PBGitSVRemoteBranchItem.h ├── PBGitSVRemoteBranchItem.m ├── PBGitSVRemoteItem.h ├── PBGitSVRemoteItem.m ├── PBGitSVStageItem.h ├── PBGitSVStageItem.m ├── PBGitSVTagItem.h ├── PBGitSVTagItem.m ├── PBGitSidebarController.h ├── PBGitSidebarController.m ├── PBGitSidebarView.xib ├── PBGitTree.h ├── PBGitTree.m ├── PBGitWindowController.h ├── PBGitWindowController.m ├── PBGitXErrors.h ├── PBGitXErrors.m ├── PBGitXMessageSheet.h ├── PBGitXMessageSheet.m ├── PBGitXMessageSheet.xib ├── PBGitXProtocol.h ├── PBGitXProtocol.m ├── PBGraphCellInfo.h ├── PBGraphCellInfo.m ├── PBHistorySearchController.h ├── PBHistorySearchController.m ├── PBIconAndTextCell.h ├── PBIconAndTextCell.m ├── PBNSURLPathUserDefaultsTransfomer.h ├── PBNSURLPathUserDefaultsTransfomer.m ├── PBPrefsWindowController.h ├── PBPrefsWindowController.m ├── PBQLOutlineView.h ├── PBQLOutlineView.m ├── PBQLTextView.h ├── PBQLTextView.m ├── PBRefContextDelegate.h ├── PBRefController.h ├── PBRefController.m ├── PBRefMenuItem.h ├── PBRefMenuItem.m ├── PBRemoteProgressSheet.h ├── PBRemoteProgressSheet.m ├── PBRenameSheet.h ├── PBRenameSheet.m ├── PBRepositoryDocumentController.h ├── PBRepositoryDocumentController.m ├── PBResetSheet.h ├── PBResetSheet.m ├── PBResetSheet.xib ├── PBServicesController.h ├── PBServicesController.m ├── PBSourceViewAction.h ├── PBSourceViewAction.m ├── PBSourceViewBadge.h ├── PBSourceViewBadge.m ├── PBSourceViewCell.h ├── PBSourceViewCell.m ├── PBSourceViewItem.h ├── PBSourceViewItem.m ├── PBSourceViewItems.h ├── PBSourceViewRemote.h ├── PBSourceViewRemote.m ├── PBStashContentController.h ├── PBStashContentController.m ├── PBStashContentView.xib ├── PBStashController.h ├── PBStashController.m ├── PBUnsortableTableHeader.h ├── PBUnsortableTableHeader.m ├── PBViewController.h ├── PBViewController.m ├── PBWebChangesController.h ├── PBWebChangesController.m ├── PBWebCommitController.h ├── PBWebCommitController.m ├── PBWebController.h ├── PBWebController.m ├── PBWebDiffController.h ├── PBWebDiffController.m ├── PBWebHistoryController.h ├── PBWebHistoryController.m ├── PBWebStashController.h ├── PBWebStashController.m ├── README.markdown ├── Rakefile ├── Release.xcconfig ├── RoundedRectangle.h ├── RoundedRectangle.m ├── SearchWebView.h ├── SearchWebView.m ├── Site ├── .gitignore ├── Rakefile ├── UserManual │ ├── .gitignore │ ├── assets │ │ └── images │ │ │ ├── branch-lanes.png │ │ │ ├── branchswitcher.png │ │ │ ├── commitview.png │ │ │ ├── detailswitcher.png │ │ │ ├── display_diff.png │ │ │ ├── gistie.png │ │ │ ├── gitx.png │ │ │ ├── historyview.png │ │ │ ├── left-right.png │ │ │ ├── menubar.png │ │ │ ├── quicklook.png │ │ │ └── viewswitcher.png │ ├── template.html │ └── text │ │ ├── 01 - Introduction.markdown │ │ ├── 02 - Overview.markdown │ │ ├── 03 - Committing.markdown │ │ └── 04 - Advance GitX usage.markdown ├── assets │ ├── css │ │ ├── master.css │ │ └── usermanual.css │ └── images │ │ ├── bg.png │ │ ├── download.png │ │ ├── favicon.png │ │ ├── header.jpg │ │ └── qtime.png ├── lib │ └── release_notes.rb ├── templates │ ├── site.html │ └── sparkle.xml └── text │ ├── contact.markdown │ ├── contribute.markdown │ ├── index.markdown │ ├── links.markdown │ ├── release_history.markdown │ └── seeit.markdown ├── Sparkle.framework ├── Headers ├── Resources ├── Sparkle └── Versions │ ├── A │ ├── Headers │ │ ├── SUAppcast.h │ │ ├── SUAppcastItem.h │ │ ├── SUUpdater.h │ │ ├── SUVersionComparisonProtocol.h │ │ └── Sparkle.h │ ├── Resources │ │ ├── Info.plist │ │ ├── License.txt │ │ ├── SUModelTranslation.plist │ │ ├── SUStatus.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ ├── de.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── en.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── es.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── fr.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── fr_CA.lproj │ │ ├── it.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── nl.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ ├── relaunch │ │ ├── ru.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ │ ├── classes.nib │ │ │ │ ├── info.nib │ │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ │ └── sv.lproj │ │ │ ├── SUAutomaticUpdateAlert.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdateAlert.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ │ ├── SUUpdatePermissionPrompt.nib │ │ │ ├── classes.nib │ │ │ ├── info.nib │ │ │ └── keyedobjects.nib │ │ │ └── Sparkle.strings │ └── Sparkle │ └── Current ├── SpeedTest-Info.plist ├── Start_iTerm2.applescript ├── Terminal.h ├── UpdateKey.pem ├── View ├── CellTrackingRect.h ├── PBArgumentPicker.h ├── PBArgumentPicker.m ├── TrackableOutlineView.h └── TrackableOutlineView.m ├── feed.xml ├── gitx.icns ├── gitx.m ├── gitx_askpasswd_main.m ├── gitx_l_pub.pem ├── html ├── css │ ├── GitX.css │ ├── diff.css │ ├── notification.css │ ├── shCoreGitX.css │ └── shThemeGitX.css ├── dragtest.html ├── images │ ├── added.acorn │ ├── added.png │ ├── modified.acorn │ ├── modified.png │ ├── removed.acorn │ ├── removed.png │ ├── renamed.acorn │ ├── renamed.png │ └── spinner.gif ├── lib │ ├── GitX.js │ ├── SearchWebView.js │ ├── diffHighlighter.js │ ├── jquery-1.3.2.min.js │ ├── keyboardNavigation.js │ ├── md5.js │ └── syntaxhighlighter │ │ ├── LGPL-LICENSE │ │ ├── MIT-LICENSE │ │ ├── compass │ │ ├── _theme_template.scss │ │ ├── config.rb │ │ ├── shCore.scss │ │ ├── shCoreDefault.scss │ │ ├── shCoreDjango.scss │ │ ├── shCoreEclipse.scss │ │ ├── shCoreEmacs.scss │ │ ├── shCoreFadeToGrey.scss │ │ ├── shCoreMDUltra.scss │ │ ├── shCoreMidnight.scss │ │ ├── shCoreRDark.scss │ │ ├── shThemeDefault.scss │ │ ├── shThemeDjango.scss │ │ ├── shThemeEclipse.scss │ │ ├── shThemeEmacs.scss │ │ ├── shThemeFadeToGrey.scss │ │ ├── shThemeMDUltra.scss │ │ ├── shThemeMidnight.scss │ │ └── shThemeRDark.scss │ │ ├── index.html │ │ ├── scripts │ │ ├── shAutoloader.js │ │ ├── shBrushAS3.js │ │ ├── shBrushAppleScript.js │ │ ├── shBrushBash.js │ │ ├── shBrushCSharp.js │ │ ├── shBrushColdFusion.js │ │ ├── shBrushCpp.js │ │ ├── shBrushCss.js │ │ ├── shBrushDelphi.js │ │ ├── shBrushDiff.js │ │ ├── shBrushErlang.js │ │ ├── shBrushGroovy.js │ │ ├── shBrushJScript.js │ │ ├── shBrushJava.js │ │ ├── shBrushJavaFX.js │ │ ├── shBrushObjC.js │ │ ├── shBrushPerl.js │ │ ├── shBrushPhp.js │ │ ├── shBrushPlain.js │ │ ├── shBrushPowerShell.js │ │ ├── shBrushPython.js │ │ ├── shBrushRuby.js │ │ ├── shBrushSass.js │ │ ├── shBrushScala.js │ │ ├── shBrushSql.js │ │ ├── shBrushVb.js │ │ ├── shBrushXml.js │ │ ├── shCore.js │ │ └── shLegacy.js │ │ ├── src │ │ ├── shAutoloader.js │ │ ├── shCore.js │ │ └── shLegacy.js │ │ ├── styles │ │ ├── shCore.css │ │ ├── shCoreDefault.css │ │ ├── shCoreDjango.css │ │ ├── shCoreEclipse.css │ │ ├── shCoreEmacs.css │ │ ├── shCoreFadeToGrey.css │ │ ├── shCoreMDUltra.css │ │ ├── shCoreMidnight.css │ │ ├── shCoreRDark.css │ │ ├── shThemeDefault.css │ │ ├── shThemeDjango.css │ │ ├── shThemeEclipse.css │ │ ├── shThemeEmacs.css │ │ ├── shThemeFadeToGrey.css │ │ ├── shThemeMDUltra.css │ │ ├── shThemeMidnight.css │ │ └── shThemeRDark.css │ │ └── tests │ │ ├── .rvmrc │ │ ├── brushes │ │ └── sass.html │ │ ├── brushes_tests.html │ │ ├── cases │ │ ├── 001_basic.html │ │ ├── 002_brushes.html │ │ ├── 003_script_tag.html │ │ ├── 004_url_parsing.html │ │ ├── 005_no_gutter.html │ │ ├── 006_pad_line_numbers.html │ │ ├── 007_collapse.html │ │ ├── 007_collapse_interaction.html │ │ ├── 008_first_line.html │ │ ├── 009_class_name.html │ │ ├── 010_highlight.html │ │ ├── 011_smart_tabs.html │ │ ├── 012_server_side.html │ │ ├── 013_html_script.html │ │ └── 014_legacy.html │ │ ├── commonjs_tests.js │ │ ├── js │ │ ├── jquery-1.4.2.js │ │ ├── qunit.css │ │ └── qunit.js │ │ ├── syntaxhighlighter_tests.html │ │ ├── theme_tests.html │ │ ├── webrick.rb │ │ └── webrick.sh └── views │ ├── blame │ ├── blame.css │ ├── blame.js │ └── index.html │ ├── commit │ ├── commit.css │ ├── commit.js │ ├── index.html │ ├── multipleSelection.js │ └── test.html │ ├── diff │ ├── diffWindow.css │ ├── diffWindow.js │ └── index.html │ ├── fileview │ ├── fileview.js │ └── index.html │ ├── history │ ├── history.css │ ├── history.js │ └── index.html │ ├── log │ ├── format.html │ ├── index.html │ ├── log.css │ └── log.js │ └── source │ ├── index.html │ ├── source.css │ └── source.js ├── list_Template.png ├── main.m ├── scripts └── install.sh ├── sidebar_Template.png ├── source.css ├── sourceListAction.png ├── sourceListActionOver.png ├── speed_test ├── README ├── array.m ├── global.c └── malloc.c ├── speedtest.h ├── speedtest.m ├── stash-icon.png ├── submodule-empty.png ├── submodule-matching-index.png ├── submodule-notmatching-index.png ├── test ├── framework.rb └── index.rb └── version.plist /.gitattributes: -------------------------------------------------------------------------------- 1 | *.m diff=objc 2 | *.mm diff=objc -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | build 3 | build/revision 4 | ._* 5 | *.xcodeproj/ 6 | !*.xcodeproj/project.pbxproj 7 | Nightly.app.zip 8 | -------------------------------------------------------------------------------- /ApplicationController.h: -------------------------------------------------------------------------------- 1 | // 2 | // GitTest_AppDelegate.h 3 | // GitTest 4 | // 5 | // Created by Pieter de Bie on 13-06-08. 6 | // Copyright __MyCompanyName__ 2008 . All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class PBCloneRepositoryPanel; 12 | 13 | @interface ApplicationController : NSObject 14 | { 15 | IBOutlet NSWindow *window; 16 | IBOutlet id firstResponder; 17 | NSPersistentStoreCoordinator *persistentStoreCoordinator; 18 | NSManagedObjectModel *managedObjectModel; 19 | NSManagedObjectContext *managedObjectContext; 20 | 21 | PBCloneRepositoryPanel *cloneRepositoryPanel; 22 | 23 | NSDictionary *notificationUserInfo; 24 | } 25 | 26 | - (NSPersistentStoreCoordinator *)persistentStoreCoordinator; 27 | - (NSManagedObjectModel *)managedObjectModel; 28 | - (NSManagedObjectContext *)managedObjectContext; 29 | 30 | - (IBAction)openPreferencesWindow:(id)sender; 31 | - (IBAction)showAboutPanel:(id)sender; 32 | 33 | - (IBAction)installCliTool:(id)sender; 34 | 35 | - (IBAction)saveAction:sender; 36 | - (IBAction)showHelp:(id)sender; 37 | - (IBAction)reportAProblem:(id)sender; 38 | 39 | - (IBAction)showCloneRepository:(id)sender; 40 | @end 41 | -------------------------------------------------------------------------------- /Commands/PBCommand.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCommand.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class PBGitRepository; 12 | 13 | @interface PBCommand : NSObject { 14 | PBGitRepository *repository; 15 | NSString *displayName; 16 | NSMutableArray *parameters; 17 | BOOL confirmAction; 18 | BOOL canBeFired; 19 | } 20 | 21 | @property BOOL canBeFired; 22 | @property (readonly) BOOL confirmAction; 23 | @property (readonly) PBGitRepository *repository; 24 | @property (strong) NSString *commandTitle; 25 | @property (strong) NSString *commandDescription; 26 | @property (readonly) NSString *displayName; 27 | 28 | - (id) initWithDisplayName:(NSString *) aDisplayName parameters:(NSArray *) params repository:(PBGitRepository *) repo; 29 | - (id) initWithDisplayName:(NSString *) aDisplayName parameters:(NSArray *) params repository:(PBGitRepository *) repo confirmAction:(BOOL) confirm; 30 | - (void) invoke; 31 | - (NSArray *) allParameters; 32 | - (void) appendParameters:(NSArray *) params; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /Commands/PBCommandFactory.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCommandFactory.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBGitRepository.h" 10 | #import "PBPresentable.h" 11 | 12 | @protocol PBCommandFactory 13 | + (NSArray *) commandsForObject:(id) object repository:(PBGitRepository *) repository; 14 | @end 15 | -------------------------------------------------------------------------------- /Commands/PBCommandWithParameter.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCommandWithParameter.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBCommand.h" 11 | 12 | 13 | @interface PBCommandWithParameter : PBCommand { 14 | PBCommand *command; 15 | NSString *parameterName; 16 | NSString *parameterDisplayName; 17 | } 18 | @property (nonatomic, strong, readonly) PBCommand *command; 19 | @property (nonatomic, strong, readonly) NSString *parameterName; 20 | @property (nonatomic, strong, readonly) NSString *parameterDisplayName; 21 | 22 | - initWithCommand:(PBCommand *) command parameterName:(NSString *) param parameterDisplayName:(NSString *) paramDisplayName; 23 | @end 24 | -------------------------------------------------------------------------------- /Commands/PBCommandWithParameter.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBCommandWithParameter.m 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBCommandWithParameter.h" 10 | #import "PBArgumentPickerController.h" 11 | #import "PBGitRepository.h" 12 | #import "PBGitWindowController.h" 13 | 14 | @implementation PBCommandWithParameter 15 | @synthesize command; 16 | @synthesize parameterName; 17 | @synthesize parameterDisplayName; 18 | 19 | - initWithCommand:(PBCommand *) aCommand parameterName:(NSString *) param parameterDisplayName:(NSString *) paramDisplayName { 20 | if ((self = [super initWithDisplayName:[aCommand displayName] parameters:nil repository:[aCommand repository]])) { 21 | command = aCommand; 22 | parameterName = param; 23 | parameterDisplayName = paramDisplayName; 24 | } 25 | return self; 26 | } 27 | 28 | 29 | 30 | - (void) invoke { 31 | PBArgumentPickerController *controller = [[PBArgumentPickerController alloc] initWithCommandWithParameter:self]; 32 | [NSApp beginSheet:[controller window] modalForWindow:[command.repository.windowController window] modalDelegate:controller didEndSelector:nil contextInfo:NULL]; 33 | } 34 | @end 35 | -------------------------------------------------------------------------------- /Commands/PBOpenDocumentCommand.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBOpenDocumentCommand.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-07. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBCommand.h" 11 | 12 | @interface PBOpenDocumentCommand : PBCommand { 13 | NSURL *documentURL; 14 | } 15 | 16 | - (id) initWithDocumentAbsolutePath:(NSString *) path; 17 | @end 18 | -------------------------------------------------------------------------------- /Commands/PBOpenDocumentCommand.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBOpenDocumentCommand.m 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-07. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBOpenDocumentCommand.h" 10 | #import "PBRepositoryDocumentController.h" 11 | #import "PBGitRepository.h" 12 | 13 | @implementation PBOpenDocumentCommand 14 | 15 | - (id) initWithDocumentAbsolutePath:(NSString *) path { 16 | if ((self = [super initWithDisplayName:@"Open" parameters:nil repository:nil])) { 17 | documentURL = [[NSURL alloc] initWithString:path]; 18 | } 19 | return self; 20 | } 21 | 22 | - (void) invoke { 23 | [[PBRepositoryDocumentController sharedDocumentController] documentForLocation:documentURL]; 24 | } 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Commands/PBRemoteCommandFactory.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBRemoteCommandFactory.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-07. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBCommandFactory.h" 11 | 12 | 13 | @interface PBRemoteCommandFactory : NSObject { 14 | 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Commands/PBRevealWithFinderCommand.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBRevealWithFinder.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-27. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBOpenDocumentCommand.h" 11 | 12 | @interface PBRevealWithFinderCommand : PBOpenDocumentCommand { 13 | 14 | } 15 | 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Commands/PBRevealWithFinderCommand.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBRevealWithFinder.m 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-27. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBRevealWithFinderCommand.h" 10 | 11 | 12 | @implementation PBRevealWithFinderCommand 13 | 14 | - (id) initWithDocumentAbsolutePath:(NSString *) path { 15 | if (!path) { 16 | return nil; 17 | } 18 | 19 | if ((self = [super initWithDisplayName:@"Reveal in Finder" parameters:nil repository:nil])) { 20 | documentURL = [[NSURL alloc] initWithString:path]; 21 | } 22 | return self; 23 | } 24 | 25 | - (void) invoke { 26 | NSWorkspace *ws = [NSWorkspace sharedWorkspace]; 27 | [ws selectFile:[documentURL absoluteString] inFileViewerRootedAtPath:nil]; 28 | } 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /Commands/PBStashCommandFactory.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBStashCommandFactory.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBCommandFactory.h" 11 | 12 | 13 | @interface PBStashCommandFactory : NSObject { 14 | 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /Controller/GlobalProtocols.h: -------------------------------------------------------------------------------- 1 | // 2 | // GlobalProtocols.h 3 | // GitX 4 | // 5 | // Created by Robert Kyriakis on 08.01.12. 6 | // Copyright (c) 2012 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol Messages 12 | @required 13 | - (void)showMessageSheet:(NSString *)messageText infoText:(NSString *)infoText; 14 | - (void)showErrorSheet:(NSError *)error; 15 | @end 16 | -------------------------------------------------------------------------------- /Controller/PBArgumentPickerController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBArgumentPickerController.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBCommand.h" 11 | #import "PBArgumentPicker.h" 12 | 13 | @class PBCommandWithParameter; 14 | 15 | @interface PBArgumentPickerController : NSWindowController { 16 | IBOutlet PBArgumentPicker *view; 17 | 18 | PBCommandWithParameter *cmdWithParameter; 19 | } 20 | 21 | - initWithCommandWithParameter:(PBCommandWithParameter *) command; 22 | 23 | - (IBAction) okClicked:sender; 24 | - (IBAction) cancelClicked:sender; 25 | @end 26 | -------------------------------------------------------------------------------- /Controller/PBGitResetController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitResetController.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-27. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBResetSheet.h" 11 | 12 | @class PBGitRepository; 13 | @protocol PBGitRefish; 14 | 15 | @interface PBGitResetController : NSObject { 16 | __unsafe_unretained PBGitRepository *repository; 17 | } 18 | - (id) initWithRepository:(PBGitRepository *) repo; 19 | 20 | - (NSArray *) menuItems; 21 | 22 | // actions 23 | - (void) resetToRefish: (id) spec type: (PBResetType) type; 24 | - (void) resetHardToHead; 25 | 26 | @end 27 | -------------------------------------------------------------------------------- /Controller/PBSubmoduleController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBSubmoduleController.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-27. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitSubmodule.h" 11 | 12 | @class PBGitRepository; 13 | @class PBCommand; 14 | 15 | @interface PBSubmoduleController : NSObject { 16 | @private 17 | __unsafe_unretained PBGitRepository *repository; 18 | NSArray *submodules; 19 | } 20 | 21 | - (id) initWithRepository:(PBGitRepository *) repo; 22 | 23 | - (void) reload; 24 | 25 | - (NSArray *) menuItems; 26 | 27 | 28 | // actions 29 | 30 | - (void) addNewSubmodule; 31 | - (void) initializeAllSubmodules; 32 | - (void) updateAllSubmodules; 33 | 34 | - (PBCommand *) commandForOpeningSubmodule:(PBGitSubmodule *) submodule; 35 | - (PBCommand *) defaultCommandForSubmodule:(PBGitSubmodule *) submodule; 36 | @end 37 | -------------------------------------------------------------------------------- /Credits.html: -------------------------------------------------------------------------------- 1 | GitX (L) Homepage -------------------------------------------------------------------------------- /Debug.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // Debug.xcconfig 3 | // GitX 4 | // 5 | // Created by Andre Berg on 25.03.10. 6 | // Copyright 2010 Berg Media. All rights reserved. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | 20 | #include "Common.xcconfig" 21 | 22 | // Macros 23 | 24 | GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS = DEBUG_BUILD 25 | 26 | OTHER_CFLAGS = -fdiagnostics-show-option 27 | 28 | // Warnings 29 | 30 | GCC_WARN_UNUSED_VARIABLE = YES 31 | GCC_WARN_CHECK_SWITCH_STATEMENTS = YES 32 | GCC_WARN_ABOUT_RETURN_TYPE = YES 33 | -------------------------------------------------------------------------------- /Documentation/README: -------------------------------------------------------------------------------- 1 | This directory is meant to document some of the API's that we use -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.2.1.txt: -------------------------------------------------------------------------------- 1 | V0.2.1 2 | === 3 | * Added Sparkle update system 4 | -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.2.txt: -------------------------------------------------------------------------------- 1 | V0.2: Changes since v0.1 2 | ==== 3 | * The graph now has colors 4 | * There are now lables attached to commits -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.3.1.txt: -------------------------------------------------------------------------------- 1 | v0.3.1 2 | === 3 | * Fixed a serious crasher 4 | -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.3.txt: -------------------------------------------------------------------------------- 1 | V0.3: Changes since v0.2.1 2 | ==== 3 | * You can now pass on command-line arguments just like you can with 'git log' 4 | * The program has an icon 5 | * Also displays remote branches in the branch list 6 | * Is better in determining if a directory is a bare git repository 7 | * Support for --left-right: use 'gitx --left-right HEAD..origin/master' 8 | to see which commits are only on your branch or on their branch 9 | * Navigate through changed hunks by using j/k keys 10 | * Scroll down in webview by using space / shift-space 11 | -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.4.1.txt: -------------------------------------------------------------------------------- 1 | v0.4.1 2 | == 3 | 4 | This is a maintenance release. Most important fixes: 5 | 6 | * The diff display is now much faster 7 | * More locations are now searched for a default git 8 | * Code pasted online is now private 9 | -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.4.txt: -------------------------------------------------------------------------------- 1 | v0.4: Changes since v0.3.1 2 | === 3 | * A new commitview, allowing you to selectively add changes and commit them. 4 | * You can now upload a commit as a patch to gist.github.com 5 | * GitX now searches for your git binary in more directories and is smarter 6 | about reporting errors regarding git paths. 7 | * You can now remove branches by right-clicking on them in the detailed view 8 | * GitX now comes with a spicy new icon 9 | * The diff view has become prettier and now also highlights trailing 10 | whitespace. 11 | * Various little changes and stability improvement 12 | -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.5.txt: -------------------------------------------------------------------------------- 1 | v0.5 2 | ==== 3 | 4 | This feature release has several new smaller or larger features: 5 | 6 | * The current branch is now highlighted 7 | * In the commit view, there is an option to amend commits 8 | * The "Gist it" button now respects github.user/token 9 | * Display a gravatar of the committer 10 | * The commit message view now displays a vertical line at 50 characters 11 | * It is now possible to revert changes by using the context menu in the 12 | commit view 13 | * You can now stage only parts of a file by using the "Stage Hunk" buttons 14 | in the commit view 15 | * You can now use GitX to show a diff of anything, for example by using 16 | 'gitx --diff HEAD^^' or 'git diff HEAD~3 | gitx --diff' 17 | * You can now drag and drop refs to move them and also create branches 18 | 19 | In addition, the following bugs have been fixed: 20 | 21 | * Better detection of git version 22 | * Branch lines are no longer interspersed with half a pixel of whitespace 23 | * The toolbar keeps its state when switching views 24 | -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.6.1.txt: -------------------------------------------------------------------------------- 1 | v0.6.1 2 | === 3 | 4 | This is a bugfix release. The following bugs have been fixed: 5 | 6 | * The commit view shows new files with linebreaks 7 | * The history view works with Git >= 1.5.4 again 8 | * Reloading the detailed view in the History no longer causes an empty page 9 | -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.6.2.txt: -------------------------------------------------------------------------------- 1 | v0.6.2 2 | === 3 | 4 | This is a maintenance release. The following bugs have been fixed: 5 | 6 | * Fix many display bugs in the history view (Thanks to Johannes Gilger) 7 | * Fix moving of refs 8 | * GitX no longer stalls if you have a large amount of untracked files 9 | * GitX now asks for confirmation before deleting a branch 10 | * GitX no longer shows ghost files after staging a hunk 11 | * Dragging and dropping a tree now correctly copies all files 12 | 13 | In addition, the following features have been added: 14 | 15 | * There is now a 'New…' option to create a new repository 16 | * The 'Gist It' feature now asks for confirmation by default. This can be changed in the preferences 17 | * GitX can now open any directory by dragging it on the icon 18 | * GitX now asks for confirmation before deleting a branch 19 | 20 | -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.6.3.txt: -------------------------------------------------------------------------------- 1 | v0.6.3 2 | === 3 | 4 | This is a maintenance release. The following bugs have been fixed: 5 | 6 | * Fixed a problem where GitX could not open some directories, for example those that include a . [Johannes Gilger] 7 | * Fixed a performance issue when staging or unstaging a lot of files 8 | * Various buildfixes (Benjamin Kramer, Arjen Laarhoven) 9 | 10 | -------------------------------------------------------------------------------- /Documentation/ReleaseNotes/v0.7.1.txt: -------------------------------------------------------------------------------- 1 | v0.7.1 2 | === 3 | 4 | This is a maintenance release. The following bugs have been fixed: 5 | 6 | * The Tree View now tries to be smart about displaying binaries (Johannes) 7 | * GitX now correctly tries to require git v1.6.0 or higher (Pieter) 8 | * Amending commits if the author name has UTF-8 multi-byte characters now correctly works (Pieter) 9 | * GitX no longer stalls for large periods when refreshing in the commit view (Johannes, Pieter) 10 | * The history view tries to be less crashy when loading commits 11 | 12 | In addition, the Sparkle framework has been updated so that future updates will be signed 13 | -------------------------------------------------------------------------------- /English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /File Markers/added_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/File Markers/added_file.png -------------------------------------------------------------------------------- /File Markers/conflicted_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/File Markers/conflicted_file.png -------------------------------------------------------------------------------- /File Markers/deleted_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/File Markers/deleted_file.png -------------------------------------------------------------------------------- /File Markers/ignored_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/File Markers/ignored_file.png -------------------------------------------------------------------------------- /File Markers/modified_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/File Markers/modified_file.png -------------------------------------------------------------------------------- /File Markers/renamed_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/File Markers/renamed_file.png -------------------------------------------------------------------------------- /File Markers/unversioned_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/File Markers/unversioned_file.png -------------------------------------------------------------------------------- /FileViewer/FileViewerController.h: -------------------------------------------------------------------------------- 1 | // 2 | // FileViewerController.h 3 | // GitX 4 | // 5 | // Created by German Laullon on 11/06/10. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | #import "MGScopeBar.h" 12 | #import "PBGitRepository.h" 13 | 14 | @interface FileViewerController : NSViewController { 15 | IBOutlet NSSegmentedCell *displayControl; 16 | IBOutlet MGScopeBar *scopeBar; 17 | IBOutlet WebView *webViewFileViwer; 18 | 19 | NSMutableArray *groups; 20 | NSString *file; 21 | NSString *sha; 22 | 23 | PBGitRepository *repository; 24 | id controller; 25 | bool commit; 26 | } 27 | 28 | - (id)initWithRepository:(PBGitRepository *)theRepository andController:(id)theController; 29 | - (void)showFile:(NSString *)file sha:(NSString *)sha; 30 | - (NSString*)refSpec; 31 | 32 | -(NSString *)parseLog:(NSString *)string; 33 | -(NSString *)parseBlame:(NSString *)string; 34 | 35 | @property(retain) NSMutableArray *groups; 36 | @property(readwrite) bool commit; 37 | 38 | @end 39 | -------------------------------------------------------------------------------- /GitTest_DataModel.xcdatamodel/elements: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/GitTest_DataModel.xcdatamodel/elements -------------------------------------------------------------------------------- /GitTest_DataModel.xcdatamodel/layout: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/GitTest_DataModel.xcdatamodel/layout -------------------------------------------------------------------------------- /GitXRelativeDateFormatter.h: -------------------------------------------------------------------------------- 1 | // 2 | // GitXRelativeDateFormatter.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 9/1/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface GitXRelativeDateFormatter : NSFormatter { 13 | 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /GitXScriptingConstants.h: -------------------------------------------------------------------------------- 1 | // 2 | // GitXScriptingConstants.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 8/15/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #define kGitXBundleIdentifier @"nl.frim.GitX" 10 | 11 | 12 | #define kGitXAEKeyArgumentsList 'ARGS' 13 | 14 | #define kGitXCloneDestinationURLKey @"destinationURL" 15 | #define kGitXCloneIsBareKey @"isBare" 16 | 17 | #define kGitXFindSearchStringKey @"searchString" 18 | #define kGitXFindInModeKey @"inMode" 19 | -------------------------------------------------------------------------------- /GitXTesting-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.${PRODUCT_NAME:identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | FMWK 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | 20 | 21 | -------------------------------------------------------------------------------- /GitXTextFieldCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // GitXTextFieldCell.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 8/27/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBRefContextDelegate.h" 11 | 12 | 13 | @interface GitXTextFieldCell : NSTextFieldCell { 14 | __unsafe_unretained id contextMenuDelegate; 15 | } 16 | 17 | @property(nonatomic, unsafe_unretained) IBOutlet id contextMenuDelegate; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /GitXTextFieldCell.m: -------------------------------------------------------------------------------- 1 | // 2 | // GitXTextFieldCell.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 8/27/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "GitXTextFieldCell.h" 10 | #import "PBGitCommit.h" 11 | #import "PBRefController.h" 12 | 13 | 14 | @implementation GitXTextFieldCell 15 | 16 | @synthesize contextMenuDelegate; 17 | 18 | - (NSColor *)highlightColorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView 19 | { 20 | // disables the cell's selection highlight 21 | return nil; 22 | } 23 | 24 | - (NSMenu *)menuForEvent:(NSEvent *)anEvent inRect:(NSRect)cellFrame ofView:(NSTableView *)commitList 25 | { 26 | NSInteger rowIndex = [commitList rowAtPoint:(cellFrame.origin)]; 27 | NSArray *items = [contextMenuDelegate menuItemsForRow:rowIndex]; 28 | if (!items) 29 | return nil; 30 | 31 | NSMenu *menu = [[NSMenu alloc] init]; 32 | [menu setAutoenablesItems:NO]; 33 | for (NSMenuItem *item in items) 34 | [menu addItem:item]; 35 | 36 | return menu; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /GitX_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'GitTest' target in the 'GitTest' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | 9 | #ifndef DLog 10 | #ifdef DEBUG 11 | # define DLog(...) NSLog(__VA_ARGS__) 12 | #else 13 | # define DLog(...) /* */ 14 | #endif 15 | #endif 16 | 17 | #ifndef ALog 18 | #define ALog(...) DLog(__VA_ARGS__) 19 | #endif 20 | 21 | // In 10.6, some NSObject categories (like NSWindowDelegate) were changed to 22 | // protocols. Thus to avoid warnings we need to add protocol specifiers, but 23 | // only when compiling for 10.6+. 24 | #ifndef MAC_OS_X_VERSION_10_6 25 | #define MAC_OS_X_VERSION_10_6 1060 26 | #endif 27 | 28 | #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 29 | #define PROTOCOL_10_6(...) <__VA_ARGS__> 30 | #else 31 | #define PROTOCOL_10_6(...) 32 | #endif 33 | -------------------------------------------------------------------------------- /Images/AddBranchTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/AddBranchTemplate.png -------------------------------------------------------------------------------- /Images/AddBranchTemplate.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/AddBranchTemplate.psd -------------------------------------------------------------------------------- /Images/AddLabelTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/AddLabelTemplate.png -------------------------------------------------------------------------------- /Images/AddLabelTemplate.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/AddLabelTemplate.psd -------------------------------------------------------------------------------- /Images/AddRemote.acorn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/AddRemote.acorn -------------------------------------------------------------------------------- /Images/AddRemote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/AddRemote.png -------------------------------------------------------------------------------- /Images/AddRemoteBranchFireworksTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/AddRemoteBranchFireworksTemplate.png -------------------------------------------------------------------------------- /Images/AddRemoteBranchTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/AddRemoteBranchTemplate.png -------------------------------------------------------------------------------- /Images/Branch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/Branch.png -------------------------------------------------------------------------------- /Images/CherryPickTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/CherryPickTemplate.png -------------------------------------------------------------------------------- /Images/CloneRepositoryFireworksTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/CloneRepositoryFireworksTemplate.png -------------------------------------------------------------------------------- /Images/CloneRepositoryTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/CloneRepositoryTemplate.png -------------------------------------------------------------------------------- /Images/CommitViewTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/CommitViewTemplate.png -------------------------------------------------------------------------------- /Images/CommitViewTemplate.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/CommitViewTemplate.psd -------------------------------------------------------------------------------- /Images/DetailViewTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/DetailViewTemplate.png -------------------------------------------------------------------------------- /Images/FetchTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/FetchTemplate.png -------------------------------------------------------------------------------- /Images/HistoryViewTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/HistoryViewTemplate.png -------------------------------------------------------------------------------- /Images/HistoryViewTemplate.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/HistoryViewTemplate.psd -------------------------------------------------------------------------------- /Images/MergeTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/MergeTemplate.png -------------------------------------------------------------------------------- /Images/Preferences/Updates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/Preferences/Updates.png -------------------------------------------------------------------------------- /Images/PullFireworksTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/PullFireworksTemplate.png -------------------------------------------------------------------------------- /Images/PullPopUpFireworksTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/PullPopUpFireworksTemplate.png -------------------------------------------------------------------------------- /Images/PullPopUpTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/PullPopUpTemplate.png -------------------------------------------------------------------------------- /Images/PullTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/PullTemplate.png -------------------------------------------------------------------------------- /Images/PushFireworksTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/PushFireworksTemplate.png -------------------------------------------------------------------------------- /Images/PushPopUpFireworksTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/PushPopUpFireworksTemplate.png -------------------------------------------------------------------------------- /Images/PushPopUpTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/PushPopUpTemplate.png -------------------------------------------------------------------------------- /Images/PushTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/PushTemplate.png -------------------------------------------------------------------------------- /Images/RebaseFireworksTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/RebaseFireworksTemplate.png -------------------------------------------------------------------------------- /Images/RebasePopUpFireworksTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/RebasePopUpFireworksTemplate.png -------------------------------------------------------------------------------- /Images/RebasePopUpTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/RebasePopUpTemplate.png -------------------------------------------------------------------------------- /Images/RebaseTemplate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/RebaseTemplate.png -------------------------------------------------------------------------------- /Images/RemoteBranch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/RemoteBranch.png -------------------------------------------------------------------------------- /Images/StageView.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/StageView.png -------------------------------------------------------------------------------- /Images/Tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/Tag.png -------------------------------------------------------------------------------- /Images/add_branch.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/add_branch.psd -------------------------------------------------------------------------------- /Images/branch.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/branch.tiff -------------------------------------------------------------------------------- /Images/deleted_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/deleted_file.png -------------------------------------------------------------------------------- /Images/empty_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/empty_file.png -------------------------------------------------------------------------------- /Images/file_template.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/file_template.psd -------------------------------------------------------------------------------- /Images/folder.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/folder.tiff -------------------------------------------------------------------------------- /Images/gitx_icon.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/gitx_icon.psd -------------------------------------------------------------------------------- /Images/new_file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/new_file.png -------------------------------------------------------------------------------- /Images/remote.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/remote.tiff -------------------------------------------------------------------------------- /Images/rewindImage.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/rewindImage.pdf -------------------------------------------------------------------------------- /Images/site_download_background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/site_download_background.png -------------------------------------------------------------------------------- /Images/tag.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Images/tag.tiff -------------------------------------------------------------------------------- /MGScopeBar/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/MGScopeBar/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /MGScopeBar/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | com.yourcompany.${PRODUCT_NAME:identifier} 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | ${PRODUCT_NAME} 17 | CFBundlePackageType 18 | APPL 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | NSMainNibFile 24 | MainMenu 25 | NSPrincipalClass 26 | NSApplication 27 | 28 | 29 | -------------------------------------------------------------------------------- /MGScopeBar/MGRecessedPopUpButtonCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // MGRecessedPopUpButtonCell.h 3 | // MGScopeBar 4 | // 5 | // Created by Matt Gemmell on 20/03/2008. 6 | // Copyright 2008 Instinctive Code. 7 | // 8 | 9 | #import 10 | 11 | /* 12 | This cell class is used only for NSPopUpButtons which do NOT automatically 13 | get their titles from their selected menu-items, since such popup-buttons 14 | are weirdly broken when using the recessed bezel-style. 15 | */ 16 | 17 | @interface MGRecessedPopUpButtonCell : NSPopUpButtonCell { 18 | NSButton *recessedButton; // we use a separate NSButton to do the bezel-drawing. 19 | } 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /MGScopeBar/MGScopeBar.xcodeproj/.svn/all-wcprops: -------------------------------------------------------------------------------- 1 | K 25 2 | svn:wc:ra_dav:version-url 3 | V 44 4 | /!svn/ver/43/MGScopeBar/MGScopeBar.xcodeproj 5 | END 6 | TemplateIcon.icns 7 | K 25 8 | svn:wc:ra_dav:version-url 9 | V 62 10 | /!svn/ver/19/MGScopeBar/MGScopeBar.xcodeproj/TemplateIcon.icns 11 | END 12 | project.pbxproj 13 | K 25 14 | svn:wc:ra_dav:version-url 15 | V 60 16 | /!svn/ver/43/MGScopeBar/MGScopeBar.xcodeproj/project.pbxproj 17 | END 18 | -------------------------------------------------------------------------------- /MGScopeBar/MGScopeBar.xcodeproj/.svn/entries: -------------------------------------------------------------------------------- 1 | 10 2 | 3 | dir 4 | 69 5 | http://svn.cocoasourcecode.com/MGScopeBar/MGScopeBar.xcodeproj 6 | http://svn.cocoasourcecode.com 7 | 8 | 9 | 10 | 2009-10-24T11:49:35.201542Z 11 | 43 12 | mattgemmell 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | fad7f400-0e54-0410-bf1d-e368f886e4d4 28 | 29 | TemplateIcon.icns 30 | file 31 | 32 | 33 | 34 | 35 | 2010-06-12T17:44:16.000000Z 36 | 9561f993b01bc966e01c9437d0c443ad 37 | 2008-10-28T16:32:35.876966Z 38 | 19 39 | mattgemmell 40 | has-props 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 52318 62 | 63 | project.pbxproj 64 | file 65 | 66 | 67 | 68 | 69 | 2010-06-12T17:44:16.000000Z 70 | 5e5049e53865d37bb2458ba379077bee 71 | 2009-10-24T11:49:35.201542Z 72 | 43 73 | mattgemmell 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 13395 96 | 97 | -------------------------------------------------------------------------------- /MGScopeBar/MGScopeBar.xcodeproj/.svn/prop-base/TemplateIcon.icns.svn-base: -------------------------------------------------------------------------------- 1 | K 13 2 | svn:mime-type 3 | V 24 4 | application/octet-stream 5 | END 6 | -------------------------------------------------------------------------------- /MGScopeBar/MGScopeBar.xcodeproj/.svn/text-base/TemplateIcon.icns.svn-base: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/MGScopeBar/MGScopeBar.xcodeproj/.svn/text-base/TemplateIcon.icns.svn-base -------------------------------------------------------------------------------- /MGScopeBar/MGScopeBar.xcodeproj/TemplateIcon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/MGScopeBar/MGScopeBar.xcodeproj/TemplateIcon.icns -------------------------------------------------------------------------------- /MGScopeBar/MGScopeBar_Prefix.pch: -------------------------------------------------------------------------------- 1 | // 2 | // Prefix header for all source files of the 'MGScopeBar' target in the 'MGScopeBar' project 3 | // 4 | 5 | #ifdef __OBJC__ 6 | #import 7 | #endif 8 | -------------------------------------------------------------------------------- /MGScopeBar/TODO: -------------------------------------------------------------------------------- 1 | MGScopeBar TODO 2 | 3 | 4 | - Maybe properly support a blue gradient appearance (like Mail in Tiger)? 5 | - Easy to change background gradient, but buttons/popups still highlight gray. 6 | 7 | - Accessibility support 8 | - The control needs to indicate which groups it contains, what selection-mode those groups support, etc. 9 | - Otherwise it's just an opaque group of buttons to VoiceOver. 10 | -------------------------------------------------------------------------------- /Model/PBGitStash.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitStash.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBPresentable.h" 11 | 12 | @interface PBGitStash : NSObject { 13 | NSString *stashRawString; 14 | 15 | NSString *stashSourceMessage; 16 | NSString *name; 17 | NSString *message; 18 | } 19 | @property (nonatomic, strong, readonly) NSString *name; 20 | @property (nonatomic, strong, readonly) NSString *message; 21 | @property (nonatomic, strong, readonly) NSString *stashSourceMessage; 22 | @property (nonatomic, strong, readonly) NSString *stashRawString; 23 | 24 | - initWithRawStashLine:(NSString *) stashLineFromStashListOutput; 25 | @end 26 | -------------------------------------------------------------------------------- /Model/PBGitSubmodule.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSubmodule.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-07. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBPresentable.h" 11 | 12 | typedef enum { 13 | PBGitSubmoduleStateNotInitialized, 14 | PBGitSubmoduleStateMatchingIndex, 15 | PBGitSubmoduleStateDoesNotMatchIndex, 16 | PBGitSubmoduleStateFailed, 17 | } PBGitSubmoduleState; 18 | 19 | @interface PBGitSubmodule : NSObject { 20 | NSString *name; 21 | NSString *path; 22 | NSString *checkedOutCommit; 23 | 24 | PBGitSubmoduleState submoduleState; 25 | 26 | NSMutableArray *submodules; 27 | } 28 | @property (readonly) NSMutableArray *submodules; 29 | @property (readonly) PBGitSubmoduleState submoduleState; 30 | @property (readonly) NSString *name; 31 | @property (readonly) NSString *path; 32 | @property (readonly) NSString *checkedOutCommit; 33 | 34 | - (id) initWithRawSubmoduleStatusString:(NSString *) submoduleStatusString; 35 | 36 | + (NSImage *) imageForSubmoduleState:(PBGitSubmoduleState) state; 37 | + (PBGitSubmoduleState) submoduleStateFromCharacter:(unichar) character; 38 | 39 | - (void) addSubmodule:(PBGitSubmodule *) submodule; 40 | @end 41 | -------------------------------------------------------------------------------- /Model/PBPresentable.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBPresentable.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | 10 | @protocol PBPresentable 11 | - (NSImage *) icon; 12 | - (NSString *) displayDescription; 13 | - (NSString *) popupDescription; 14 | @end 15 | -------------------------------------------------------------------------------- /NSApplication+GitXScripting.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSApplication+GitXScripting.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 8/15/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface NSApplication (GitXScripting) 13 | 14 | - (void)showDiffScriptCommand:(NSScriptCommand *)command; 15 | - (void)initRepositoryScriptCommand:(NSScriptCommand *)command; 16 | - (void)cloneRepositoryScriptCommand:(NSScriptCommand *)command; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /NSFileHandleExt.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Extension for NSFileHandle to make it capable of easy network programming 3 | * 4 | * Version 1.0, get the newest from http://michael.stapelberg.de/NSFileHandleExt.php 5 | * 6 | * Copyright 2007 Michael Stapelberg 7 | * 8 | * Distributed under BSD-License, see http://michael.stapelberg.de/BSD.php 9 | * 10 | */ 11 | 12 | #import 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | @interface NSFileHandle(NSFileHandleExt) 19 | -(NSString*)readLine; 20 | @end 21 | -------------------------------------------------------------------------------- /NSOutlineViewExt.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSOutlineViewExit.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 9/9/09. 6 | // Copyright 2009 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface NSOutlineView (PBExpandParents) 13 | 14 | - (void)PBExpandItem:(id)item expandParents:(BOOL)expand; 15 | @end 16 | -------------------------------------------------------------------------------- /NSOutlineViewExt.m: -------------------------------------------------------------------------------- 1 | // 2 | // NSOutlineViewExit.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 9/9/09. 6 | // Copyright 2009 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "NSOutlineViewExt.h" 10 | 11 | 12 | @implementation NSOutlineView (PBExpandParents) 13 | 14 | - (void)PBExpandItem:(id)item expandParents:(BOOL)expand 15 | { 16 | NSMutableArray *parents = [NSMutableArray array]; 17 | while (item) { 18 | [parents insertObject:item atIndex:0]; 19 | item = [item parent]; 20 | } 21 | 22 | for (id p in parents) 23 | [self expandItem:p]; 24 | } 25 | @end 26 | -------------------------------------------------------------------------------- /NSString_RegEx.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString_RegEx.h 3 | // 4 | // Created by John R Chang on 2005-11-08. 5 | // This code is Creative Commons Public Domain. You may use it for any purpose whatsoever. 6 | // http://creativecommons.org/licenses/publicdomain/ 7 | // 8 | 9 | #import 10 | 11 | /* 12 | For regular expression help, see re_format(7) man page. 13 | */ 14 | 15 | @interface NSString (RegEx) 16 | 17 | /* 18 | Common are REG_ICASE and REG_NEWLINE. For other possible option flags, 19 | see regex(3) man page. You don't need to specify REG_EXTENDED. 20 | 21 | is the number of subexpressions to match. 22 | Returns an array of strings. The first string is the matching substring, 23 | the remaining are the matching subexpressions, up to nmatch+1 number. 24 | 25 | If nmatch is -1, works like grep. Returns an array containing self if matching. 26 | 27 | Returns nil if regular expression does not match or if an error has occurred. 28 | */ 29 | - (NSArray *) substringsMatchingRegularExpression:(NSString *)pattern count:(int)nmatch 30 | options:(int)options ranges:(NSArray **)ranges error:(NSError **)error; 31 | 32 | - (BOOL) grep:(NSString *)pattern options:(int)options; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /NSString_Truncate.h: -------------------------------------------------------------------------------- 1 | // 2 | // NSString_Truncate.h 3 | // GitX 4 | // 5 | // Created by Andre Berg on 24.03.10. 6 | // Copyright 2010 Berg Media. All rights reserved. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | 20 | #import 21 | 22 | typedef enum { 23 | PBNSStringTruncateModeCenter = 0, 24 | PBNSStringTruncateModeStart = 1, 25 | PBNSStringTruncateModeEnd = 2 26 | } PBNSStringTruncateMode; 27 | 28 | @interface NSString (PBGitXTruncateExtensions) 29 | 30 | - (NSString *) truncateToLength:(NSUInteger)length mode:(PBNSStringTruncateMode)mode indicator:(NSString *)indicatorString; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /PBAddRemoteSheet.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBAddRemoteSheet.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 12/8/09. 6 | // Copyright 2009 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @class PBGitRepository; 13 | 14 | @interface PBAddRemoteSheet : NSWindowController { 15 | PBGitRepository *repository; 16 | 17 | NSTextField *remoteName; 18 | NSTextField *remoteURL; 19 | NSTextField *errorMessage; 20 | 21 | NSOpenPanel *browseSheet; 22 | NSView *browseAccessoryView; 23 | 24 | NSString *remoteUrl; 25 | } 26 | 27 | + (void) beginAddRemoteSheetForRepository:(PBGitRepository *)repo withRemoteURL:(NSString*)url; 28 | 29 | - (IBAction) browseFolders:(id)sender; 30 | - (IBAction) addRemote:(id)sender; 31 | - (IBAction) orderOutAddRemoteSheet:(id)sender; 32 | - (IBAction) showHideHiddenFiles:(id)sender; 33 | 34 | 35 | @property(strong) PBGitRepository *repository; 36 | 37 | @property(strong) IBOutlet NSTextField *remoteName; 38 | @property(strong) IBOutlet NSTextField *remoteURL; 39 | @property(strong) IBOutlet NSTextField *errorMessage; 40 | 41 | @property(strong) NSOpenPanel *browseSheet; 42 | @property(strong) IBOutlet NSView *browseAccessoryView; 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /PBCLIProxy.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCLIProxy.h 3 | // GitX 4 | // 5 | // Created by Ciarán Walsh on 15/08/2008. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBCLIProxy : NSObject 13 | { 14 | NSConnection *connection; 15 | } 16 | @property (retain) NSConnection* connection; 17 | @end 18 | 19 | #define ConnectionName @"GitX DO Connection" 20 | #define PBCLIProxyErrorDomain @"PBCLIProxyErrorDomain" 21 | 22 | @protocol GitXCliToolProtocol 23 | - (BOOL)openRepository:(NSURL*)repositoryPath arguments: (NSArray*) args error:(NSError**)error; 24 | - (void)openDiffWindowWithDiff:(NSString *)diff; 25 | @end -------------------------------------------------------------------------------- /PBChangeRemoteUrlSheet.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBChangeRemoteUrlSheet.h 3 | // GitX 4 | // 5 | // Created by Robert Kyriakis on 27.12.2011. 6 | // Copyright 2011 Robert Kyriakis. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitRefish.h" 11 | #import "PBGitRepository.h" 12 | 13 | @interface PBChangeRemoteUrlSheet : NSWindowController 14 | { 15 | IBOutlet NSTextField *RemoteNameTextField; 16 | IBOutlet NSTextField *RemoteUrlTextField; 17 | IBOutlet NSTextField *errorMessageTextField; 18 | IBOutlet NSView *browseAccessoryView; 19 | NSOpenPanel *browseRemoteUrlPanel; 20 | NSString *remoteUrl; 21 | } 22 | 23 | + (void)showChangeRemoteUrlSheetAtRefish:(id )ref inRepository:(PBGitRepository *)repo; 24 | 25 | - (IBAction) cancelOperation:(id)sender; 26 | - (IBAction) changeOperation:(id)sender; 27 | - (IBAction) browseRepository:(id)sender; 28 | - (IBAction) showHideHiddenFiles:(id)sender; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /PBChangedFile.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBChangedFile.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 22-09-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitRepository.h" 11 | 12 | typedef enum { 13 | NEW, 14 | MODIFIED, 15 | DELETED, 16 | ADDED 17 | } PBChangedFileStatus; 18 | 19 | @interface PBChangedFile : NSObject 20 | 21 | @property (copy) NSString *path, *commitBlobSHA, *commitBlobMode; 22 | @property (assign) PBChangedFileStatus status; 23 | @property (assign) BOOL hasStagedChanges, hasUnstagedChanges; 24 | 25 | - (NSImage *)icon; 26 | - (NSString *)indexInfo; 27 | 28 | + (NSImage *) iconForStatus:(PBChangedFileStatus) aStatus; 29 | - (id) initWithPath:(NSString *)p; 30 | @end 31 | -------------------------------------------------------------------------------- /PBCloneRepsitoryToSheet.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCloneRepsitoryToSheet.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 2/7/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @class PBGitRepository; 13 | 14 | @interface PBCloneRepsitoryToSheet : NSWindowController { 15 | PBGitRepository *repository; 16 | BOOL isBare; 17 | NSTextField *message; 18 | NSView *cloneToAccessoryView; 19 | NSOpenPanel *cloneToSheet; 20 | } 21 | 22 | + (void) beginCloneRepsitoryToSheetForRepository:(PBGitRepository *)repo; 23 | 24 | 25 | @property(strong) PBGitRepository *repository; 26 | @property BOOL isBare; 27 | @property(strong) IBOutlet NSTextField *message; 28 | @property(strong) IBOutlet NSView *cloneToAccessoryView; 29 | 30 | - (IBAction) showHideHiddenFiles:(id)sender; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /PBCommandMenuItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCommandMenuItem.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBCommand.h" 11 | 12 | @interface PBCommandMenuItem : NSMenuItem {} 13 | 14 | - initWithCommand:(PBCommand *) aCommand; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /PBCommandMenuItem.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBCommandMenuItem.m 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBCommandMenuItem.h" 10 | 11 | @implementation PBCommandMenuItem 12 | 13 | - initWithCommand:(PBCommand *) aCommand { 14 | if ((self = [super init])) { 15 | super.title = [aCommand displayName]; 16 | [self setTarget:aCommand]; 17 | [self setAction:@selector(invoke)]; 18 | [self setEnabled:[aCommand canBeFired]]; 19 | } 20 | return self; 21 | } 22 | 23 | 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /PBCommitHookFailedSheet.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCommitHookFailedSheet.h 3 | // GitX 4 | // 5 | // Created by Sebastian Staudt on 9/12/10. 6 | // Copyright 2010 Sebastian Staudt. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | #import "PBGitCommitController.h" 12 | #import "PBGitXMessageSheet.h" 13 | 14 | 15 | @interface PBCommitHookFailedSheet : PBGitXMessageSheet 16 | { 17 | PBGitCommitController *commitController; 18 | } 19 | 20 | + (void)beginMessageSheetForWindow:(NSWindow *)parentWindow withMessageText:(NSString *)message infoText:(NSString *)info commitController:(PBGitCommitController *)controller; 21 | 22 | - (id)initWithWindowNibName:(NSString *)windowNibName andController:(PBGitCommitController *)controller; 23 | - (IBAction)forceCommit:(id)sender; 24 | 25 | @end -------------------------------------------------------------------------------- /PBCommitMessageView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCommitMessageView.h 3 | // GitX 4 | // 5 | // Created by Jeff Mesnil on 13/10/08. 6 | // Copyright 2008 Jeff Mesnil (http://jmesnil.net/). All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | // Adds the column guide displayed in the commit message field 12 | @interface PBCommitMessageView : NSTextView { 13 | 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /PBCommitMessageView.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBCommitMessageView.m 3 | // GitX 4 | // 5 | // Created by Jeff Mesnil on 13/10/08. 6 | // Copyright 2008 Jeff Mesnil (http://jmesnil.net/). All rights reserved. 7 | // 8 | 9 | #import "PBCommitMessageView.h" 10 | #import "PBGitDefaults.h" 11 | 12 | @implementation PBCommitMessageView 13 | 14 | - (void)drawRect:(NSRect)aRect 15 | { 16 | [super drawRect:aRect]; 17 | 18 | // draw a vertical line after the given size (used as an indicator 19 | // for the first line of the commit message) 20 | if ([PBGitDefaults commitMessageViewHasVerticalLine]) { 21 | float characterWidth = [@" " sizeWithAttributes:[self typingAttributes]].width; 22 | float lineWidth = characterWidth * [PBGitDefaults commitMessageViewVerticalLineLength]; 23 | 24 | [[NSColor lightGrayColor] set]; 25 | float padding = [[self textContainer] lineFragmentPadding]; 26 | NSRect line; 27 | line.origin.x = padding + lineWidth; 28 | line.origin.y = 0; 29 | line.size.width = 1; 30 | line.size.height = [self bounds].size.height; 31 | NSRectFill(line); 32 | } 33 | } 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /PBCreateBranchSheet.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCreateBranchSheet.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 12/13/09. 6 | // Copyright 2009 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitRefish.h" 11 | 12 | 13 | @class PBGitRepository; 14 | 15 | 16 | @interface PBCreateBranchSheet : NSWindowController 17 | 18 | + (void) beginCreateBranchSheetAtRefish:(id )ref inRepository:(PBGitRepository *)repo; 19 | 20 | 21 | - (IBAction) createBranch:(id)sender; 22 | - (IBAction) closeCreateBranchSheet:(id)sender; 23 | 24 | 25 | @property (assign) BOOL shouldCheckoutBranch; 26 | 27 | @property (strong) IBOutlet NSTextField *branchNameField; 28 | @property (strong) IBOutlet NSTextField *errorMessageField; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /PBCreateTagSheet.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBCreateTagSheet.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 12/18/09. 6 | // Copyright 2009 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitRefish.h" 11 | 12 | 13 | @class PBGitRepository; 14 | 15 | 16 | @interface PBCreateTagSheet : NSWindowController { 17 | PBGitRepository *repository; 18 | id targetRefish; 19 | 20 | NSTextField *tagNameField; 21 | NSTextView *tagMessageText; 22 | NSTextField *errorMessageField; 23 | } 24 | 25 | + (void) beginCreateTagSheetAtRefish:(id )refish inRepository:(PBGitRepository *)repo; 26 | 27 | - (IBAction) createTag:(id)sender; 28 | - (IBAction) closeCreateTagSheet:(id)sender; 29 | 30 | 31 | @property (strong) PBGitRepository *repository; 32 | @property (strong) id targetRefish; 33 | 34 | @property (strong) IBOutlet NSTextField *tagNameField; 35 | @property (strong) IBOutlet NSTextView *tagMessageText; 36 | @property (strong) IBOutlet NSTextField *errorMessageField; 37 | @property (assign) BOOL replaceExisting; 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /PBDiffWindowController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBDiffWindowController.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 13-10-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class PBGitCommit; 12 | 13 | @interface PBDiffWindowController : NSWindowController { 14 | NSString *diff; 15 | } 16 | 17 | + (void) showDiffWindowWithFiles:(NSArray *)filePaths fromCommit:(PBGitCommit *)startCommit diffCommit:(PBGitCommit *)diffCommit; 18 | - (id) initWithDiff:(NSString *)diff; 19 | 20 | @property (readonly) NSString *diff; 21 | @end 22 | -------------------------------------------------------------------------------- /PBEasyFS.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBEasyFS.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 6/17/08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBEasyFS : NSObject { 13 | 14 | } 15 | + (NSString*) tmpNameWithSuffix: (NSString*) path; 16 | + (NSString*) tmpDirWithPrefix: (NSString*) path; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /PBEasyFS.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBEasyFS.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 6/17/08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBEasyFS.h" 10 | 11 | 12 | @implementation PBEasyFS 13 | 14 | + (NSString*) tmpNameWithSuffix: (NSString*) path 15 | { 16 | NSString* newName = [NSString stringWithFormat: @"%@/XXXXXX%@", NSTemporaryDirectory(), path]; 17 | char *template = (char*) [newName fileSystemRepresentation]; 18 | int fd = mkstemps(template, [path length]); 19 | close(fd); 20 | return [NSString stringWithUTF8String:template]; 21 | } 22 | 23 | + (NSString*) tmpDirWithPrefix: (NSString*) path 24 | { 25 | NSString* newName = [NSString stringWithFormat: @"%@%@.XXXXXX", NSTemporaryDirectory(), path]; 26 | char *template = (char*) [newName fileSystemRepresentation]; 27 | template = mkdtemp(template); 28 | return [NSString stringWithUTF8String:template]; 29 | } 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /PBFileChangesTableView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBFileChangesTableView.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 09-10-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | // File list used in both the staged and unstaged sides of the commit view. 13 | // datasource and deletage are PBGitIndexController. 14 | @interface PBFileChangesTableView : NSTableView { 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /PBGitBinary.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitBinary.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 04-10-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "GitX_Prefix.pch" 11 | 12 | #define MIN_GIT_VERSION "1.6.0" 13 | 14 | // Returns information about the git binary used to execute commands. 15 | @interface PBGitBinary : NSObject { 16 | 17 | } 18 | 19 | + (NSString *) path; 20 | + (NSString *) version; 21 | + (NSArray *) searchLocations; 22 | + (NSString *) notFoundError; 23 | @end 24 | -------------------------------------------------------------------------------- /PBGitCommitController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitCommitController.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 19-09-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBViewController.h" 11 | 12 | @class PBGitIndexController, PBIconAndTextCell, PBWebChangesController, PBGitIndex; 13 | 14 | @interface PBGitCommitController : PBViewController { 15 | // This might have to transfer over to the PBGitRepository 16 | // object sometime 17 | PBGitIndex *index; 18 | 19 | IBOutlet NSTextView *commitMessageView; 20 | IBOutlet NSArrayController *unstagedFilesController; 21 | IBOutlet NSArrayController *cachedFilesController; 22 | IBOutlet NSButton *commitButton; 23 | 24 | IBOutlet PBGitIndexController *indexController; 25 | IBOutlet PBWebChangesController *webController; 26 | IBOutlet NSSplitView *commitSplitView; 27 | } 28 | 29 | @property(readonly) PBGitIndex *index; 30 | 31 | - (IBAction) refresh:(id) sender; 32 | - (IBAction) commit:(id) sender; 33 | - (IBAction) forceCommit:(id) sender; 34 | - (IBAction)signOff:(id)sender; 35 | @end 36 | -------------------------------------------------------------------------------- /PBGitConfig.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitConfig.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 14-10-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitBinary.h" 11 | #import "PBEasyPipe.h" 12 | 13 | @interface PBGitConfig : NSObject { 14 | NSString *repositoryPath; 15 | } 16 | 17 | - init; 18 | - initWithRepositoryPath:(NSString *)path; 19 | 20 | // get config data: `git config -l` 21 | - (NSDictionary*) listConfigValuesInDir:(NSString*)inDir; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /PBGitGradientBarView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitGradientBarView.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 2/22/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBGitGradientBarView : NSView { 13 | NSGradient *gradient; 14 | } 15 | 16 | - (void) setTopShade:(float)topShade bottomShade:(float)bottomShade; 17 | - (void) setTopColor:(NSColor *)topShade bottomColor:(NSColor *)bottomColor; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /PBGitGradientBarView.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitGradientBarView.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 2/22/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBGitGradientBarView.h" 10 | 11 | 12 | 13 | @implementation PBGitGradientBarView 14 | 15 | 16 | - (id) initWithFrame:(NSRect)frame 17 | { 18 | self = [super initWithFrame:frame]; 19 | if (!self) 20 | return nil; 21 | 22 | [self setTopShade:1.0 bottomShade:0.0]; 23 | 24 | return self; 25 | } 26 | 27 | 28 | - (void) drawRect:(NSRect)dirtyRect 29 | { 30 | [gradient drawInRect:[self bounds] angle:90]; 31 | } 32 | 33 | 34 | - (void) setTopColor:(NSColor *)topColor bottomColor:(NSColor *)bottomColor 35 | { 36 | if (!topColor || !bottomColor) 37 | return; 38 | 39 | gradient = [[NSGradient alloc] initWithStartingColor:bottomColor endingColor:topColor]; 40 | [self setNeedsDisplay:YES]; 41 | } 42 | 43 | 44 | - (void) setTopShade:(float)topShade bottomShade:(float)bottomShade 45 | { 46 | NSColor *topColor = [NSColor colorWithCalibratedWhite:topShade alpha:1.0]; 47 | NSColor *bottomColor = [NSColor colorWithCalibratedWhite:bottomShade alpha:1.0]; 48 | [self setTopColor:topColor bottomColor:bottomColor]; 49 | } 50 | 51 | 52 | @end 53 | -------------------------------------------------------------------------------- /PBGitGraphLine.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBLine.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 27-08-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | struct PBGitGraphLine 10 | { 11 | int upper : 1; 12 | int from : 8; 13 | int to : 8; 14 | int colorIndex : 8; 15 | }; 16 | -------------------------------------------------------------------------------- /PBGitGraphLine.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBLine.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 27-08-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBGitGraphLine.h" 10 | 11 | @implementation PBGitGraphLine 12 | @synthesize upper, from, to, colorIndex; 13 | - (id)initWithUpper: (char) u From: (char) f to: (char) t color: (char) c; 14 | { 15 | upper = u; 16 | from = f; 17 | to = t; 18 | colorIndex = c; 19 | return self; 20 | } 21 | 22 | + (PBGitGraphLine*) lowerLineFrom:(char) f to: (char) t color: (char) c 23 | { 24 | return [[PBGitGraphLine alloc] initWithUpper:0 From:f to:t color:c]; 25 | } 26 | 27 | + (PBGitGraphLine*) upperLineFrom:(char) f to: (char) t color: (char) c 28 | { 29 | return [[PBGitGraphLine alloc] initWithUpper:1 From:f to:t color: c]; 30 | } 31 | @end 32 | -------------------------------------------------------------------------------- /PBGitGrapher.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitGrapher.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 17-06-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitCommit.h" 11 | #import "PBGitGraphLine.h" 12 | #import "PBGraphCellInfo.h" 13 | 14 | @interface PBGitGrapher : NSObject { 15 | PBGraphCellInfo *previous; 16 | void *pl; 17 | int curLane; 18 | } 19 | 20 | - (id) initWithRepository:(PBGitRepository *)repo; 21 | - (void) decorateCommit:(PBGitCommit *)commit; 22 | @end 23 | -------------------------------------------------------------------------------- /PBGitHistoryGrapher.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitHistoryGrapher.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 2/20/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | #define kCurrentQueueKey @"kCurrentQueueKey" 13 | #define kNewCommitsKey @"kNewCommitsKey" 14 | 15 | 16 | @class PBGitGrapher; 17 | 18 | 19 | @interface PBGitHistoryGrapher : NSObject { 20 | __unsafe_unretained id delegate; 21 | NSOperationQueue *currentQueue; 22 | 23 | NSMutableSet *searchSHAs; 24 | PBGitGrapher *grapher; 25 | BOOL viewAllBranches; 26 | } 27 | 28 | - (id) initWithBaseCommits:(NSSet *)commits viewAllBranches:(BOOL)viewAll queue:(NSOperationQueue *)queue delegate:(id)theDelegate; 29 | - (void) graphCommits:(NSArray *)revList; 30 | 31 | @end 32 | -------------------------------------------------------------------------------- /PBGitIndexController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitIndexController.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 18-11-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitCommitController.h" 11 | #import "PBChangedFile.h" 12 | 13 | @interface PBGitIndexController : NSObject { 14 | IBOutlet NSArrayController *stagedFilesController, *unstagedFilesController; 15 | IBOutlet PBGitCommitController *commitController; 16 | 17 | IBOutlet NSTableView *unstagedTable; 18 | IBOutlet NSTableView *stagedTable; 19 | NSArray *actFiles; 20 | } 21 | 22 | - (IBAction) rowClicked:(NSCell *) sender; 23 | - (IBAction) tableClicked:(NSTableView *)tableView; 24 | 25 | - (NSMenu *) menuForTable:(NSTableView *)table; 26 | 27 | - (void) stageSelectedFiles; 28 | - (void) unstageSelectedFiles; 29 | 30 | @end 31 | -------------------------------------------------------------------------------- /PBGitLane.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitLane.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 27-08-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | #import 9 | 10 | class PBGitLane { 11 | static int s_colorIndex; 12 | 13 | NSString *d_sha; 14 | int d_index; 15 | 16 | public: 17 | 18 | PBGitLane(NSString *sha) 19 | { 20 | d_index = s_colorIndex++; 21 | d_sha = sha; 22 | } 23 | 24 | PBGitLane() 25 | { 26 | d_index = s_colorIndex++; 27 | } 28 | 29 | bool isCommit(NSString *sha) const 30 | { 31 | return [d_sha isEqual:sha]; 32 | } 33 | 34 | void setSha(NSString *sha); 35 | int index() const; 36 | static void resetColors(); 37 | }; -------------------------------------------------------------------------------- /PBGitLane.mm: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitLane.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 27-08-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBGitLane.h" 10 | //class PBGitLane { 11 | // static int s_colorIndex; 12 | // 13 | // char d_sha[20]; 14 | // int d_index; 15 | // 16 | //public: 17 | // PBGitLane(NSString *sha); 18 | // 19 | // bool isCommit(NSString *sha) const; 20 | // int index(); const; 21 | // 22 | // static resetColors(); 23 | //}; 24 | 25 | int PBGitLane::s_colorIndex = 0; 26 | 27 | int PBGitLane::index() const 28 | { 29 | return d_index; 30 | } 31 | 32 | void PBGitLane::setSha(NSString *sha) 33 | { 34 | d_sha = sha; 35 | } 36 | 37 | void PBGitLane::resetColors() 38 | { 39 | s_colorIndex = 0; 40 | } 41 | -------------------------------------------------------------------------------- /PBGitMenuItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVStashItem.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-05. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | #import "PBPresentable.h" 12 | 13 | 14 | @interface PBGitMenuItem : PBSourceViewItem { 15 | id sourceObject; 16 | } 17 | @property (nonatomic, strong, readonly) id sourceObject; 18 | 19 | - initWithSourceObject:(id) anObject; 20 | @end 21 | -------------------------------------------------------------------------------- /PBGitRefish.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitRefish.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 12/25/09. 6 | // Copyright 2009 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | // Several git commands can take a ref "refs/heads/master" or an SHA. 13 | // Use to accept a PBGitRef or a PBGitCommit without having to write 14 | // two separate methods. 15 | // 16 | // refishName the full name of the ref "refs/heads/master" or the full SHA 17 | // used in git commands 18 | // shortName a more user friendly version of the refName, "master" or a short SHA 19 | // refishType a short name for the type 20 | 21 | @protocol PBGitRefish 22 | 23 | - (NSString *) refishName; 24 | - (NSString *) shortName; 25 | - (NSString *) refishType; 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /PBGitRevList.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitRevList.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 17-06-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @class PBGitRepository; 12 | @class PBGitRevSpecifier; 13 | 14 | @interface PBGitRevList : NSObject { 15 | NSMutableArray *commits; 16 | 17 | __unsafe_unretained PBGitRepository *repository; 18 | PBGitRevSpecifier *currentRev; 19 | BOOL isGraphing; 20 | 21 | NSThread *parseThread; 22 | BOOL isParsing; 23 | BOOL resetCommits; 24 | BOOL reloadAll; 25 | } 26 | 27 | - (id) initWithRepository:(PBGitRepository *)repo rev:(PBGitRevSpecifier *)rev shouldGraph:(BOOL)graph; 28 | - (void)loadRevisons:(BOOL)all; 29 | - (void)cancel; 30 | 31 | @property (strong) NSMutableArray *commits; 32 | @property (readonly) BOOL isParsing; 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /PBGitRevSpecifier.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitRevSpecifier.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 12-09-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface PBGitRevSpecifier : NSObject { 13 | NSArray *parameters; 14 | BOOL isSimpleRef; 15 | } 16 | 17 | - (id) initWithParameters:(NSArray *)params description:(NSString *)descrip; 18 | - (id) initWithParameters:(NSArray*) params; 19 | - (id) initWithRef: (PBGitRef*) ref; 20 | 21 | - (NSString*) simpleRef; 22 | - (PBGitRef *) ref; 23 | - (BOOL) hasPathLimiter; 24 | - (BOOL) hasLeftRight; 25 | - (NSString *) title; 26 | 27 | - (BOOL) isEqual: (PBGitRevSpecifier*) other; 28 | - (BOOL) isAllBranchesRev; 29 | - (BOOL) isLocalBranchesRev; 30 | 31 | + (PBGitRevSpecifier *)allBranchesRevSpec; 32 | + (PBGitRevSpecifier *)localBranchesRevSpec; 33 | 34 | @property(nonatomic,strong) NSString *description; 35 | @property(strong) NSString *helpText; 36 | @property(readonly) NSArray *parameters; 37 | @property(strong) NSURL *workingDirectory; 38 | @property(readonly) BOOL isSimpleRef; 39 | @property(strong) NSNumber *behind; 40 | @property(strong) NSNumber *ahead; 41 | 42 | @end 43 | -------------------------------------------------------------------------------- /PBGitRevisionCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitRevisionCell.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 17-06-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitGrapher.h" 11 | #import "PBGraphCellInfo.h" 12 | #import "PBGitHistoryController.h" 13 | #import "PBRefContextDelegate.h" 14 | 15 | @interface PBGitRevisionCell : NSActionCell { 16 | PBGitCommit *objectValue; 17 | PBGraphCellInfo *cellInfo; 18 | NSTextFieldCell *textCell; 19 | __unsafe_unretained PBGitHistoryController *controller; 20 | __unsafe_unretained id contextMenuDelegate; 21 | } 22 | 23 | @property(nonatomic, unsafe_unretained) IBOutlet PBGitHistoryController *controller; 24 | @property(nonatomic, unsafe_unretained) IBOutlet id contextMenuDelegate; 25 | 26 | 27 | - (int) indexAtX:(float)x; 28 | - (NSRect) rectAtIndex:(int)index; 29 | - (void) drawLabelAtIndex:(int)index inRect:(NSRect)rect; 30 | 31 | @property(strong) PBGitCommit* objectValue; 32 | @end 33 | -------------------------------------------------------------------------------- /PBGitSVBranchItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVBranchItem.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | 12 | 13 | @interface PBGitSVBranchItem : PBSourceViewItem { 14 | BOOL isCheckedOut; 15 | NSNumber *behind; 16 | NSNumber *ahead; 17 | } 18 | 19 | + (id)branchItemWithRevSpec:(PBGitRevSpecifier *)revSpecifier; 20 | 21 | @property (assign) BOOL isCheckedOut; 22 | @property (strong) NSNumber *behind; 23 | @property (strong) NSNumber *ahead; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /PBGitSVBranchItem.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVBranchItem.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBGitSVBranchItem.h" 10 | #import "PBGitRevSpecifier.h" 11 | 12 | @implementation PBGitSVBranchItem 13 | 14 | @synthesize isCheckedOut; 15 | @synthesize behind,ahead; 16 | 17 | + (id)branchItemWithRevSpec:(PBGitRevSpecifier *)revSpecifier 18 | { 19 | PBGitSVBranchItem *item = [self itemWithTitle:[[revSpecifier description] lastPathComponent]]; 20 | item.revSpecifier = revSpecifier; 21 | 22 | return item; 23 | } 24 | 25 | 26 | - (NSImage *) icon 27 | { 28 | static NSImage *branchImage = nil; 29 | if (!branchImage) 30 | branchImage = [NSImage imageNamed:@"Branch.png"]; 31 | 32 | return branchImage; 33 | } 34 | 35 | 36 | - (NSString *) badge{ 37 | NSMutableString *badge=nil; 38 | if(isCheckedOut || ahead || behind){ 39 | badge=[NSMutableString string]; 40 | if(isCheckedOut) [badge appendString:@"✔ "]; 41 | if(ahead) [badge appendFormat:@"+%@",ahead]; 42 | if(behind) [badge appendFormat:@"-%@",behind]; 43 | } 44 | return badge; 45 | } 46 | 47 | 48 | @end 49 | -------------------------------------------------------------------------------- /PBGitSVFolderItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVFolderItem.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | 12 | 13 | @interface PBGitSVFolderItem : PBSourceViewItem { 14 | 15 | } 16 | 17 | + (id)folderItemWithTitle:(NSString *)title; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /PBGitSVFolderItem.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVFolderItem.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBGitSVFolderItem.h" 10 | 11 | 12 | @implementation PBGitSVFolderItem 13 | 14 | 15 | + (id)folderItemWithTitle:(NSString *)title 16 | { 17 | PBGitSVFolderItem *item = [self itemWithTitle:title]; 18 | 19 | return item; 20 | } 21 | 22 | 23 | - (NSImage *) icon 24 | { 25 | static NSImage *folderImage = nil; 26 | if (!folderImage) { 27 | folderImage = [[NSWorkspace sharedWorkspace] iconForFileType:NSFileTypeForHFSTypeCode(kGenericFolderIcon)]; 28 | [folderImage setSize:NSMakeSize(16,16)]; 29 | } 30 | 31 | return folderImage; 32 | } 33 | 34 | @end 35 | -------------------------------------------------------------------------------- /PBGitSVOtherRevItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVOtherRevItem.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | 12 | 13 | @interface PBGitSVOtherRevItem : PBSourceViewItem { 14 | NSString* helpText; 15 | } 16 | 17 | @property(strong) NSString* helpText; 18 | 19 | + (id)otherItemWithRevSpec:(PBGitRevSpecifier *)revSpecifier; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /PBGitSVOtherRevItem.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVOtherRevItem.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBGitSVOtherRevItem.h" 10 | #import "PBGitRevSpecifier.h" 11 | 12 | 13 | @implementation PBGitSVOtherRevItem 14 | 15 | @synthesize helpText; 16 | 17 | 18 | + (id)otherItemWithRevSpec:(PBGitRevSpecifier *)revSpecifier 19 | { 20 | PBGitSVOtherRevItem *item = [self itemWithTitle:[revSpecifier title]]; 21 | item.revSpecifier = revSpecifier; 22 | 23 | return item; 24 | } 25 | 26 | 27 | - (NSImage *) icon 28 | { 29 | static NSImage *otherRevImage = nil; 30 | if (!otherRevImage) 31 | otherRevImage = [NSImage imageNamed:@"Branch.png"]; 32 | 33 | return otherRevImage; 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /PBGitSVRemoteBranchItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVRemoteBranchItem.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | 12 | 13 | @interface PBGitSVRemoteBranchItem : PBSourceViewItem { 14 | 15 | } 16 | 17 | + (id)remoteBranchItemWithRevSpec:(PBGitRevSpecifier *)revSpecifier; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /PBGitSVRemoteBranchItem.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVRemoteBranchItem.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBGitSVRemoteBranchItem.h" 10 | #import "PBGitRevSpecifier.h" 11 | 12 | @implementation PBGitSVRemoteBranchItem 13 | 14 | 15 | + (id)remoteBranchItemWithRevSpec:(PBGitRevSpecifier *)revSpecifier 16 | { 17 | PBGitSVRemoteBranchItem *item = [self itemWithTitle:[[revSpecifier description] lastPathComponent]]; 18 | item.revSpecifier = revSpecifier; 19 | 20 | return item; 21 | } 22 | 23 | 24 | - (NSImage *) icon 25 | { 26 | static NSImage *remoteBranchImage = nil; 27 | if (!remoteBranchImage) 28 | remoteBranchImage = [NSImage imageNamed:@"RemoteBranch.png"]; 29 | 30 | return remoteBranchImage; 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /PBGitSVRemoteItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVRemoteItem.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | 12 | 13 | @interface PBGitSVRemoteItem : PBSourceViewItem { 14 | BOOL alert; 15 | NSString *helpText; 16 | } 17 | 18 | @property (assign) BOOL alert; 19 | @property (strong) NSString *helpText; 20 | 21 | + (id)remoteItemWithTitle:(NSString *)title; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /PBGitSVRemoteItem.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVRemoteItem.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBGitSVRemoteItem.h" 10 | #import "PBGitRef.h" 11 | 12 | 13 | @implementation PBGitSVRemoteItem 14 | 15 | @synthesize alert; 16 | @synthesize helpText; 17 | 18 | + (id)remoteItemWithTitle:(NSString *)title 19 | { 20 | PBGitSVRemoteItem *item = [self itemWithTitle:title]; 21 | 22 | return item; 23 | } 24 | 25 | 26 | - (NSImage *) icon 27 | { 28 | static NSImage *networkImage = nil; 29 | if (!networkImage) { 30 | networkImage = [NSImage imageNamed:NSImageNameNetwork]; 31 | [networkImage setSize:NSMakeSize(16,16)]; 32 | } 33 | 34 | return networkImage; 35 | } 36 | 37 | 38 | - (PBGitRef *) ref 39 | { 40 | return [PBGitRef refFromString:[kGitXRemoteRefPrefix stringByAppendingString:self.title]]; 41 | } 42 | 43 | - (NSString *)badge 44 | { 45 | return (alert ? @"!" : nil); 46 | } 47 | @end 48 | -------------------------------------------------------------------------------- /PBGitSVStageItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVStageItem.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | 12 | 13 | @interface PBGitSVStageItem : PBSourceViewItem { 14 | 15 | } 16 | 17 | + (id) stageItem; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /PBGitSVStageItem.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVStageItem.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBGitSVStageItem.h" 10 | 11 | 12 | @implementation PBGitSVStageItem 13 | 14 | 15 | + (id) stageItem 16 | { 17 | PBGitSVStageItem *item = [self itemWithTitle:@"Stage"]; 18 | 19 | return item; 20 | } 21 | 22 | 23 | - (NSImage *) icon 24 | { 25 | static NSImage *stageImage = nil; 26 | if (!stageImage) 27 | stageImage = [NSImage imageNamed:@"StageView"]; 28 | 29 | return stageImage; 30 | } 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /PBGitSVTagItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVTagItem.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | 12 | 13 | @interface PBGitSVTagItem : PBSourceViewItem { 14 | 15 | } 16 | 17 | + (id)tagItemWithRevSpec:(PBGitRevSpecifier *)revSpecifier; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /PBGitSVTagItem.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitSVTagItem.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBGitSVTagItem.h" 10 | #import "PBGitRevSpecifier.h" 11 | 12 | @implementation PBGitSVTagItem 13 | 14 | 15 | + (id)tagItemWithRevSpec:(PBGitRevSpecifier *)revSpecifier 16 | { 17 | PBGitSVTagItem *item = [self itemWithTitle:[[revSpecifier description] lastPathComponent]]; 18 | item.revSpecifier = revSpecifier; 19 | 20 | return item; 21 | } 22 | 23 | 24 | - (NSImage *) icon 25 | { 26 | static NSImage *tagImage = nil; 27 | if (!tagImage) 28 | tagImage = [NSImage imageNamed:@"Tag.png"]; 29 | 30 | return tagImage; 31 | } 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /PBGitXMessageSheet.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitXMessageSheet.h 3 | // GitX 4 | // 5 | // Created by BrotherBard on 7/4/10. 6 | // Copyright 2010 BrotherBard. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBGitXMessageSheet : NSWindowController 13 | { 14 | NSImageView *iconView; 15 | NSTextField *messageField; 16 | NSTextView *infoView; 17 | NSScrollView *scrollView; 18 | } 19 | 20 | + (void)beginMessageSheetForWindow:(NSWindow *)parentWindow withMessageText:(NSString *)message infoText:(NSString *)info; 21 | + (void)beginMessageSheetForWindow:(NSWindow *)parentWindow withError:(NSError *)error; 22 | 23 | 24 | - (void)beginMessageSheetForWindow:(NSWindow *)parentWindow withMessageText:(NSString *)message infoText:(NSString *)info; 25 | - (IBAction)closeMessageSheet:(id)sender; 26 | 27 | 28 | @property (strong) IBOutlet NSImageView *iconView; 29 | @property (strong) IBOutlet NSTextField *messageField; 30 | @property (strong) IBOutlet NSTextView *infoView; 31 | @property (strong) IBOutlet NSScrollView *scrollView; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /PBGitXProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGitXProtocol.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 01-11-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitRepository.h" 11 | 12 | @interface PBGitXProtocol : NSURLProtocol { 13 | NSFileHandle *handle; 14 | } 15 | @end 16 | 17 | @interface NSURLRequest (PBGitXProtocol) 18 | @property (readonly) PBGitRepository *repository; 19 | @end 20 | 21 | @interface NSMutableURLRequest (PBGitXProtocol) 22 | @property (retain) PBGitRepository *repository; 23 | @end 24 | 25 | -------------------------------------------------------------------------------- /PBGraphCellInfo.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBGraphCellInfo.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 27-08-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitGraphLine.h" 11 | 12 | @interface PBGraphCellInfo : NSObject 13 | 14 | @property(nonatomic,assign) struct PBGitGraphLine *lines; 15 | @property(assign) int nLines; 16 | @property(assign) int position, numColumns; 17 | @property(assign) char sign; 18 | 19 | 20 | - (id)initWithPosition:(int) p andLines:(struct PBGitGraphLine *) l; 21 | 22 | @end -------------------------------------------------------------------------------- /PBGraphCellInfo.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBGraphCellInfo.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 27-08-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBGraphCellInfo.h" 10 | 11 | 12 | @implementation PBGraphCellInfo 13 | 14 | @synthesize lines, position, numColumns, sign, nLines; 15 | 16 | - (id)initWithPosition:(int)p andLines:(struct PBGitGraphLine *)l 17 | { 18 | position = p; 19 | lines = l; 20 | 21 | return self; 22 | } 23 | 24 | - (void)dealloc 25 | { 26 | free(lines); 27 | } 28 | 29 | - (void)setLines:(struct PBGitGraphLine *)l 30 | { 31 | free(lines); 32 | lines = l; 33 | } 34 | 35 | -(void) finalize 36 | { 37 | free(lines); 38 | [super finalize]; 39 | } 40 | 41 | @end -------------------------------------------------------------------------------- /PBIconAndTextCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBIconAndTextCell.h 3 | // GitX 4 | // 5 | // Created by Ciarán Walsh on 23/09/2008. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBIconAndTextCell : NSTextFieldCell 13 | { 14 | NSImage *image; 15 | BOOL mouseDownInButton; 16 | BOOL mouseHoveredInButton; 17 | } 18 | @property (strong) NSImage *image; 19 | 20 | - (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView; 21 | - (NSSize)cellSize; 22 | @end 23 | -------------------------------------------------------------------------------- /PBNSURLPathUserDefaultsTransfomer.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBNSURLPathUserDefaultsTransfomer.h 3 | // GitX 4 | // 5 | // Created by Christian Jacobsen on 28/09/2008. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBNSURLPathUserDefaultsTransfomer : NSValueTransformer { 13 | 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /PBNSURLPathUserDefaultsTransfomer.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBNSURLPathUserDefaultsTransfomer.m 3 | // GitX 4 | // 5 | // Created by Christian Jacobsen on 28/09/2008. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBNSURLPathUserDefaultsTransfomer.h" 10 | 11 | /* 12 | This ValueTransformer is used to store NSURLs in the user defaults system 13 | as strings, without a host part. It is assumed that the path is an absolute 14 | path in the local filesystem. 15 | */ 16 | 17 | @implementation PBNSURLPathUserDefaultsTransfomer 18 | 19 | + (Class)transformedValueClass { 20 | return [NSURL class]; 21 | } 22 | 23 | + (BOOL)allowsReverseTransformation { 24 | return YES; 25 | } 26 | 27 | - (id)transformedValue:(id)value { 28 | if(value == nil) 29 | { 30 | return nil; 31 | } 32 | 33 | return [NSURL URLWithString:value 34 | relativeToURL:[NSURL URLWithString:@"file://localhost/"]]; 35 | } 36 | 37 | - (id)reverseTransformedValue:(id)value { 38 | if(value == nil) 39 | { 40 | return nil; 41 | } 42 | 43 | return [value path]; 44 | } 45 | 46 | @end 47 | -------------------------------------------------------------------------------- /PBPrefsWindowController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBPrefsWindowController.h 3 | // GitX 4 | // 5 | // Created by Christian Jacobsen on 02/10/2008. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "DBPrefsWindowController.h" 11 | 12 | @interface PBPrefsWindowController : DBPrefsWindowController { 13 | /* Outlets for Preference Views */ 14 | IBOutlet NSView *generalPrefsView; 15 | IBOutlet NSView *integrationPrefsView; 16 | IBOutlet NSView *updatesPrefsView; 17 | 18 | /* Variables for the Updates View */ 19 | IBOutlet NSPathControl *gitPathController; 20 | IBOutlet NSImageView *badGitPathIcon; 21 | IBOutlet NSView *gitPathOpenAccessory; 22 | NSOpenPanel *gitPathOpenPanel; 23 | 24 | } 25 | 26 | - (IBAction) checkGitValidity: sender; 27 | - (void)pathCell:(NSPathCell *)pathCell willDisplayOpenPanel:(NSOpenPanel *)openPanel; 28 | - (IBAction) showHideAllFiles: sender; 29 | - (IBAction) resetGitPath: sender; 30 | - (IBAction)resetAllDialogWarnings:(id)sender; 31 | 32 | @end 33 | -------------------------------------------------------------------------------- /PBQLOutlineView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBQLOutlineView.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 6/17/08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitHistoryController.h" 11 | 12 | @interface PBQLOutlineView : NSOutlineView { 13 | __unsafe_unretained PBGitHistoryController *controller; 14 | } 15 | 16 | @property(nonatomic, unsafe_unretained) IBOutlet PBGitHistoryController *controller; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /PBQLTextView.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBQLTextView.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/22/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @class PBGitHistoryController; 13 | 14 | 15 | @interface PBQLTextView : NSTextView { 16 | __unsafe_unretained PBGitHistoryController *controller; 17 | } 18 | 19 | @property(nonatomic, unsafe_unretained) IBOutlet PBGitHistoryController *controller; 20 | 21 | @end 22 | -------------------------------------------------------------------------------- /PBQLTextView.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBQLTextView.m 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/22/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBQLTextView.h" 10 | #import "PBGitHistoryController.h" 11 | 12 | 13 | @implementation PBQLTextView 14 | 15 | @synthesize controller; 16 | 17 | - (void) keyDown: (NSEvent *) event 18 | { 19 | if ([[event characters] isEqualToString:@" "]) { 20 | [controller toggleQLPreviewPanel:self]; 21 | return; 22 | } 23 | 24 | [super keyDown:event]; 25 | } 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /PBRefContextDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBRefContextDelegate.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 01-11-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | 10 | @class PBGitRef; 11 | @class PBGitCommit; 12 | 13 | 14 | @protocol PBRefContextDelegate 15 | - (NSArray *) menuItemsForRef:(PBGitRef *)ref; 16 | - (NSArray *) menuItemsForCommit:(PBGitCommit *)commit; 17 | - (NSArray *)menuItemsForRow:(NSInteger)rowIndex; 18 | @end 19 | -------------------------------------------------------------------------------- /PBRefMenuItem.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBRefMenuItem.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 01-11-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitRef.h" 11 | #import "PBGitCommit.h" 12 | 13 | @interface PBRefMenuItem : NSMenuItem { 14 | id refish; 15 | } 16 | 17 | @property (strong) id refish; 18 | 19 | + (PBRefMenuItem *) separatorItem; 20 | + (NSArray *) defaultMenuItemsForRef:(PBGitRef *)ref inRepository:(PBGitRepository *)repo target:(id)target; 21 | + (NSArray *) defaultMenuItemsForCommit:(PBGitCommit *)commit target:(id)target; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /PBRenameSheet.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBRenameSheet.h 3 | // GitX 4 | // 5 | // Created by Robert Kyriakis on 18.12.2011. 6 | // Copyright 2011 Robert Kyriakis. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitRefish.h" 11 | #import "PBGitRepository.h" 12 | 13 | @interface PBRenameSheet : NSWindowController 14 | { 15 | IBOutlet NSTextField *oldRefNameTextField; 16 | IBOutlet NSTextField *newRefNameTextField; 17 | IBOutlet NSTextField *errorMessageTextField; 18 | } 19 | 20 | + (void) showRenameSheetAtRef:(PBGitRef*)ref inRepository:(PBGitRepository *)repo; 21 | 22 | - (IBAction) renameRef:(id)sender; 23 | - (IBAction) cancelRenameSheet:(id)sender; 24 | 25 | @end 26 | -------------------------------------------------------------------------------- /PBRepositoryDocumentController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBRepositoryDocumentController.h 3 | // GitX 4 | // 5 | // Created by Ciarán Walsh on 15/08/2008. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitRevSpecifier.h" 11 | 12 | 13 | @interface PBRepositoryDocumentController : NSDocumentController 14 | { 15 | 16 | } 17 | 18 | - (id) documentForLocation:(NSURL*) url; 19 | - (void)initNewRepositoryAtURL:(NSURL *)url; 20 | @end 21 | -------------------------------------------------------------------------------- /PBResetSheet.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBResetSheet.h 3 | // GitX 4 | // 5 | // Created by Leszek Slazynski on 11-03-13. 6 | // Copyright 2011 LSL. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @protocol PBGitRefish; 12 | @class PBGitRepository; 13 | 14 | typedef enum PBResetType { 15 | PBResetTypeNone, 16 | PBResetTypeSoft, 17 | PBResetTypeMixed, 18 | PBResetTypeHard, 19 | PBResetTypeMerge, 20 | PBResetTypeKeep 21 | } PBResetType; 22 | 23 | @interface PBResetSheet : NSWindowController { 24 | IBOutlet NSSegmentedControl* resetType; 25 | IBOutlet NSTabView* resetDesc; 26 | PBResetType defaultType; 27 | id targetRefish; 28 | PBGitRepository* repository; 29 | } 30 | 31 | + (void) beginResetSheetForRepository:(PBGitRepository*) repo refish:(id)refish andType:(PBResetType)type; 32 | - (IBAction)resetBranch:(id)sender; 33 | - (IBAction)cancel:(id)sender; 34 | 35 | @end 36 | -------------------------------------------------------------------------------- /PBServicesController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBServicesController.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 10/24/08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBServicesController : NSObject { 13 | 14 | } 15 | 16 | - (NSString *)completeSHA1For:(NSString *)sha; 17 | 18 | - (void)completeSha:(NSPasteboard *)pboard userData:(NSString *)userData error:(NSString **)error; 19 | @end 20 | -------------------------------------------------------------------------------- /PBSourceViewAction.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBSourceViewAction.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 9/8/09. 6 | // Copyright 2009 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | 12 | @interface PBSourceViewAction : PBSourceViewItem { 13 | NSImage *icon; 14 | } 15 | 16 | @property(retain) NSImage *icon; 17 | @end 18 | -------------------------------------------------------------------------------- /PBSourceViewAction.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBSourceViewAction.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 9/8/09. 6 | // Copyright 2009 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBSourceViewAction.h" 10 | 11 | 12 | @implementation PBSourceViewAction 13 | @synthesize icon; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /PBSourceViewBadge.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBSourceViewBadge.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 2/13/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBSourceViewBadge : NSObject { 13 | 14 | } 15 | 16 | + (NSImage *) badge:(NSString *)badge forCell:(NSTextFieldCell *)cell; 17 | + (NSImage *) checkedOutBadgeForCell:(NSTextFieldCell *)cell; 18 | + (NSImage *) numericBadge:(NSInteger)number forCell:(NSTextFieldCell *)cell; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /PBSourceViewCell.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBSourceViewCell.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 1/7/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBIconAndTextCell.h" 11 | 12 | @interface PBSourceViewCell : PBIconAndTextCell { 13 | NSString *badge; 14 | BOOL showsActionButton; 15 | 16 | BOOL iMouseDownInInfoButton; 17 | BOOL iMouseHoveredInInfoButton; 18 | SEL iInfoButtonAction; 19 | } 20 | @property (nonatomic) BOOL showsActionButton; 21 | @property (nonatomic) SEL iInfoButtonAction; 22 | @property (strong) NSString *badge; 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /PBSourceViewItems.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBSourceViewItems.h 3 | // GitX 4 | // 5 | // Created by Nathan Kinsinger on 3/2/10. 6 | // Copyright 2010 Nathan Kinsinger. All rights reserved. 7 | // 8 | 9 | #import "PBSourceViewItem.h" 10 | 11 | #import "PBGitSVStageItem.h" 12 | 13 | #import "PBGitRevSpecifier.h" 14 | #import "PBGitSVBranchItem.h" 15 | #import "PBGitSVRemoteItem.h" 16 | #import "PBGitSVRemoteBranchItem.h" 17 | #import "PBGitSVTagItem.h" 18 | #import "PBGitSVOtherRevItem.h" 19 | #import "PBGitSVFolderItem.h" -------------------------------------------------------------------------------- /PBSourceViewRemote.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBSourceViewRemote.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 9/8/09. 6 | // Copyright 2009 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBSourceViewItem.h" 11 | 12 | @interface PBSourceViewRemote : PBSourceViewItem { 13 | 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /PBSourceViewRemote.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBSourceViewRemote.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 9/8/09. 6 | // Copyright 2009 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBSourceViewRemote.h" 10 | 11 | 12 | @implementation PBSourceViewRemote 13 | 14 | - (NSImage *)icon 15 | { 16 | return [NSImage imageNamed:@"remote"]; 17 | } 18 | @end 19 | -------------------------------------------------------------------------------- /PBStashContentController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBStashContentController.h 3 | // GitX 4 | // 5 | // Created by David Catmull on 20-06-11. 6 | // Copyright 2011. All rights reserved. 7 | // 8 | 9 | #import "PBViewController.h" 10 | 11 | @class PBGitStash; 12 | @class PBWebStashController; 13 | 14 | // Controls the view displaying a stash diff 15 | @interface PBStashContentController : PBViewController { 16 | IBOutlet id webView; 17 | IBOutlet PBWebStashController *unstagedController; 18 | IBOutlet PBWebStashController *stagedController; 19 | } 20 | 21 | - (void) showStash:(PBGitStash*)stash; 22 | 23 | @end 24 | -------------------------------------------------------------------------------- /PBStashController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBStashController.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-27. 6 | // Copyright (c) 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBGitStash.h" 11 | 12 | @class PBGitRepository; 13 | 14 | @interface PBStashController : NSObject { 15 | @private 16 | __unsafe_unretained PBGitRepository *repository; 17 | } 18 | 19 | - (id) initWithRepository:(PBGitRepository *) repo; 20 | 21 | - (void) reload; 22 | 23 | - (NSArray *) menu; 24 | 25 | // actions 26 | - (void) stashLocalChanges; 27 | - (void) clearAllStashes; 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /PBUnsortableTableHeader.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBUnsortableTableHeader.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 03-10-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBUnsortableTableHeader : NSTableHeaderView { 13 | IBOutlet NSArrayController *controller; 14 | int clickCount; 15 | int columnIndex; 16 | } 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /PBUnsortableTableHeader.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBUnsortableTableHeader.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 03-10-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBUnsortableTableHeader.h" 10 | 11 | 12 | @implementation PBUnsortableTableHeader 13 | 14 | - (void)mouseDown:(NSEvent *)theEvent 15 | { 16 | NSPoint location = [self convertPoint:[[self window] mouseLocationOutsideOfEventStream] fromView:[[self window] contentView]]; 17 | int aColumnIndex = [self columnAtPoint:location]; 18 | 19 | // If the user pressed on another column, reset 20 | if (aColumnIndex != columnIndex) 21 | { 22 | clickCount = 1; 23 | columnIndex = aColumnIndex; 24 | [super mouseDown:theEvent]; 25 | return; 26 | } 27 | 28 | // On the third click, reset the sorting and 29 | // Don't pass on the click 30 | if (++clickCount == 3) 31 | { 32 | clickCount = 0; 33 | controller.sortDescriptors = [NSArray array]; 34 | [controller rearrangeObjects]; 35 | return; 36 | } 37 | [super mouseDown:theEvent]; 38 | } 39 | @end 40 | -------------------------------------------------------------------------------- /PBWebChangesController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBWebChangesController.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 22-09-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBWebController.h" 11 | #import "PBGitCommitController.h" 12 | #import "PBChangedFile.h" 13 | 14 | @class PBGitIndexController; 15 | 16 | @interface PBWebChangesController : PBWebController { 17 | IBOutlet NSArrayController *unstagedFilesController; 18 | IBOutlet NSArrayController *cachedFilesController; 19 | IBOutlet PBGitCommitController *controller; 20 | IBOutlet PBGitIndexController *indexController; 21 | 22 | PBChangedFile *selectedFile; 23 | BOOL selectedFileIsCached; 24 | NSString *actHunk; 25 | } 26 | 27 | - (void) refresh; 28 | - (void) setStateMessage:(NSString *)state; 29 | 30 | - (void) showMultiple:(NSArray *)files; 31 | @end 32 | -------------------------------------------------------------------------------- /PBWebController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBWebController.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 08-10-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | #import "PBGitRepository.h" 13 | 14 | @interface PBWebController : NSObject { 15 | IBOutlet WebView* view; 16 | NSString *startFile; 17 | BOOL finishedLoading; 18 | 19 | // For async git reading 20 | NSMapTable *callbacks; 21 | 22 | // For the repository access 23 | IBOutlet __unsafe_unretained PBGitRepository *repository; 24 | } 25 | 26 | @property (strong) NSString *startFile; 27 | @property (unsafe_unretained) PBGitRepository *repository; 28 | 29 | - (WebScriptObject *) script; 30 | - (void) closeView; 31 | - (BOOL) isFeatureEnabled:(NSString *)feature; 32 | 33 | @end 34 | -------------------------------------------------------------------------------- /PBWebDiffController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBWebDiffController.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 13-10-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBWebController.h" 11 | #import "PBDiffWindowController.h" 12 | 13 | // Instantiated in PBDiffWindow.xib, used by PBDiffWindowController 14 | @interface PBWebDiffController : PBWebController { 15 | IBOutlet PBDiffWindowController *diffController; 16 | } 17 | 18 | - (void) showDiff:(NSString *)diff; 19 | @end 20 | -------------------------------------------------------------------------------- /PBWebHistoryController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBWebHistoryController.h 3 | // GitTest 4 | // 5 | // Created by Pieter de Bie on 14-06-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import "PBWebCommitController.h" 11 | 12 | @class PBGitHistoryController; 13 | 14 | @interface PBWebHistoryController : PBWebCommitController { 15 | __unsafe_unretained PBGitHistoryController* historyController; 16 | } 17 | 18 | @property(nonatomic, unsafe_unretained) IBOutlet PBGitHistoryController *historyController; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /PBWebStashController.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBWebStashController.h 3 | // 4 | // Created by David Catmull on 12-06-11. 5 | // 6 | 7 | #import 8 | #import "PBWebCommitController.h" 9 | 10 | @class PBStashContentController; 11 | 12 | @interface PBWebStashController : PBWebCommitController { 13 | __unsafe_unretained PBStashContentController *stashController; 14 | } 15 | 16 | @property(nonatomic, unsafe_unretained) IBOutlet PBStashContentController *stashController; 17 | 18 | @end 19 | -------------------------------------------------------------------------------- /PBWebStashController.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBWebStashController.m 3 | // 4 | // Created by David Catmull on 12-06-11. 5 | // 6 | 7 | #import "PBWebStashController.h" 8 | #import "PBStashContentController.h" 9 | 10 | @implementation PBWebStashController 11 | 12 | @synthesize stashController; 13 | 14 | - (void)selectCommit:(NSString *)sha 15 | { 16 | [[stashController superController] selectCommitForSha:sha]; 17 | } 18 | 19 | - (NSArray*) menuItemsForPath:(NSString*)path 20 | { 21 | return [[stashController superController] menuItemsForPaths:[NSArray arrayWithObject:path]]; 22 | } 23 | 24 | - (NSArray*) chooseDiffParents:(NSArray *)parents 25 | { 26 | return [NSArray arrayWithObject:[parents lastObject]]; 27 | } 28 | 29 | @end 30 | -------------------------------------------------------------------------------- /Release.xcconfig: -------------------------------------------------------------------------------- 1 | // 2 | // Release.xcconfig 3 | // GitX 4 | // 5 | // Created by Andre Berg on 25.03.10. 6 | // Copyright 2010 Berg Media. All rights reserved. 7 | // 8 | // Licensed under the Apache License, Version 2.0 (the "License"); 9 | // you may not use this file except in compliance with the License. 10 | // You may obtain a copy of the License at 11 | // 12 | // http://www.apache.org/licenses/LICENSE-2.0 13 | // 14 | // Unless required by applicable law or agreed to in writing, software 15 | // distributed under the License is distributed on an "AS IS" BASIS, 16 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | // See the License for the specific language governing permissions and 18 | // limitations under the License. 19 | 20 | #include "Common.xcconfig" 21 | 22 | DEBUG_INFORMATION_FORMAT = dwarf 23 | 24 | DEPLOYMENT_POSTPROCESSING = YES 25 | 26 | STRIP_INSTALLED_PRODUCT = YES 27 | -------------------------------------------------------------------------------- /RoundedRectangle.h: -------------------------------------------------------------------------------- 1 | // 2 | // RoundedRectangle.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 24-09-08. 6 | // Copyright 2008 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface NSBezierPath (RoundedRectangle) 13 | 14 | + (NSBezierPath *)bezierPathWithRoundedRect: (NSRect) aRect cornerRadius: (double) cRadius; 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /SearchWebView.h: -------------------------------------------------------------------------------- 1 | // 2 | // SearchWebView.h 3 | // GitX 4 | // 5 | // Created by German Laullon on 19/03/11. 6 | // Copyright 2011 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | #import 11 | 12 | @interface WebView (SearchWebView) 13 | 14 | @property(readonly) int resultCount; 15 | 16 | - (void)highlightAllOccurencesOfString:(NSString*)str inNode:(DOMNode *)node; 17 | - (void)removeAllHighlights; 18 | - (void)search:(NSSearchField *)sender update:(BOOL)update grabFocus:(BOOL)grabFocus direction:(BOOL)forward; 19 | 20 | @end 21 | -------------------------------------------------------------------------------- /Site/.gitignore: -------------------------------------------------------------------------------- 1 | output 2 | -------------------------------------------------------------------------------- /Site/UserManual/.gitignore: -------------------------------------------------------------------------------- 1 | output/ 2 | -------------------------------------------------------------------------------- /Site/UserManual/assets/images/branch-lanes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/branch-lanes.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/branchswitcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/branchswitcher.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/commitview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/commitview.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/detailswitcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/detailswitcher.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/display_diff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/display_diff.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/gistie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/gistie.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/gitx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/gitx.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/historyview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/historyview.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/left-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/left-right.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/menubar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/menubar.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/quicklook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/quicklook.png -------------------------------------------------------------------------------- /Site/UserManual/assets/images/viewswitcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/UserManual/assets/images/viewswitcher.png -------------------------------------------------------------------------------- /Site/UserManual/text/01 - Introduction.markdown: -------------------------------------------------------------------------------- 1 | User Manual 2 | ----------- 3 | 4 | This is the GitX user's manual. This document tries to explain the most common used features and explains the concepts that might be confusing if you've never used a git GUI. 5 | 6 | ### Disclaimer 7 | 8 | GitX aims to be a graphical wrapper around the most-frequently used 9 | git-commands, enabling you to satisfy your daily git needs in one consistent 10 | program. GitX doesn't aspire to be a complete interface for the wide variety 11 | of git command-line programs with their ever-growing number of options. It's 12 | also no easy way to learn git. A sound understanding of how git stores data, 13 | how it works on that data and how to recover from (accidental) deletion of 14 | branches and commits will not only help you with git but will also enable you 15 | to learn GitX with greater confidence and speed. Since GitX is far from 16 | complete you'll probably still have to use it in conjunction with the 17 | command-line git for more complex tasks, such as merging or performing remote 18 | operations. -------------------------------------------------------------------------------- /Site/assets/css/usermanual.css: -------------------------------------------------------------------------------- 1 | pre 2 | { 3 | background: rgb(238, 238, 238) !important; 4 | display: block; 5 | width: 750px; 6 | padding: 5px; 7 | margin: 10px;; 8 | } 9 | 10 | code 11 | { 12 | font-family: 'andale mono'; 13 | } 14 | 15 | img 16 | { 17 | display: block; 18 | margin: 10px auto 10px auto; 19 | } 20 | 21 | img.floatleft 22 | { 23 | float: left; 24 | display: inline; 25 | margin: 10px; 26 | } 27 | 28 | img.floatright 29 | { 30 | float: right; 31 | display: inline; 32 | margin: 10px; 33 | } -------------------------------------------------------------------------------- /Site/assets/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/assets/images/bg.png -------------------------------------------------------------------------------- /Site/assets/images/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/assets/images/download.png -------------------------------------------------------------------------------- /Site/assets/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/assets/images/favicon.png -------------------------------------------------------------------------------- /Site/assets/images/header.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/assets/images/header.jpg -------------------------------------------------------------------------------- /Site/assets/images/qtime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Site/assets/images/qtime.png -------------------------------------------------------------------------------- /Site/templates/sparkle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | GitX 5 | http://github.com/pieter/gitx/wikis 6 | A more native clone of Gitk for OS X 7 | 8 | 9 | 10 | GitX <%= ReleaseNotes::last_version %> 11 | Thu, 29 Jan 2009 23:54:01 GMT 12 | 13 | 14 | 16 | body { 17 | font-size: 70%; 18 | } 19 | h1 { 20 | font-size: 160%; 21 | } 22 | 23 | <%= Markdown.new(ReleaseNotes::last_notes).to_html %> 24 | ]]> 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /Site/text/contact.markdown: -------------------------------------------------------------------------------- 1 | <% @title = "Contact" %> 2 | Contact 3 | ------- 4 | 5 | The GitX repository can be found on Github at [http://github.com/pieter/gitx](http://www.github.com/pieter/gitx/wikis). 6 | 7 | GitX has a mailing list at [gitx@googlegroups.com](mailto:gitx@googlegroups.com) to which you can email any questions or patches. 8 | 9 | GitX is actively maintained by Pieter de Bie. You can email him at [frimmirf@gmail.com](mailto:frimmirf+gitx@gmail.com) or on twitter @pdebie 10 | -------------------------------------------------------------------------------- /Site/text/links.markdown: -------------------------------------------------------------------------------- 1 | <% @title = "Links" %> 2 |

3 | Links 4 |

5 | 6 | 14 | 15 |

Mailing list

16 | 17 | * [Google Groups](http://groups.google.com/group/gitx) 18 | * [Nabble archive](http://n2.nabble.com/GitX-f3079826.html) 19 | 20 |

Bug Reporting

21 | 24 | -------------------------------------------------------------------------------- /Site/text/release_history.markdown: -------------------------------------------------------------------------------- 1 | <% @title = "Release History" %> 2 |

3 | Release history 4 |

5 | 6 | <%= ReleaseNotes::aggregate_notes %> -------------------------------------------------------------------------------- /Sparkle.framework/Headers: -------------------------------------------------------------------------------- 1 | Versions/Current/Headers -------------------------------------------------------------------------------- /Sparkle.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /Sparkle.framework/Sparkle: -------------------------------------------------------------------------------- 1 | Versions/Current/Sparkle -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Headers/SUAppcast.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUAppcast.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/12/06. 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUAPPCAST_H 10 | #define SUAPPCAST_H 11 | 12 | @class SUAppcastItem; 13 | @interface SUAppcast : NSObject { 14 | NSArray *items; 15 | NSString *userAgentString; 16 | id delegate; 17 | NSMutableData *incrementalData; 18 | } 19 | 20 | - (void)fetchAppcastFromURL:(NSURL *)url; 21 | - (void)setDelegate:delegate; 22 | - (void)setUserAgentString:(NSString *)userAgentString; 23 | 24 | - (NSArray *)items; 25 | 26 | @end 27 | 28 | @interface NSObject (SUAppcastDelegate) 29 | - (void)appcastDidFinishLoading:(SUAppcast *)appcast; 30 | - (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error; 31 | @end 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Headers/SUVersionComparisonProtocol.h: -------------------------------------------------------------------------------- 1 | // 2 | // SUVersionComparisonProtocol.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 12/21/07. 6 | // Copyright 2007 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SUVERSIONCOMPARISONPROTOCOL_H 10 | #define SUVERSIONCOMPARISONPROTOCOL_H 11 | 12 | /*! 13 | @protocol 14 | @abstract Implement this protocol to provide version comparison facilities for Sparkle. 15 | */ 16 | @protocol SUVersionComparison 17 | 18 | /*! 19 | @method 20 | @abstract An abstract method to compare two version strings. 21 | @discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent. 22 | */ 23 | - (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB; 24 | 25 | @end 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Headers/Sparkle.h: -------------------------------------------------------------------------------- 1 | // 2 | // Sparkle.h 3 | // Sparkle 4 | // 5 | // Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07) 6 | // Copyright 2006 Andy Matuschak. All rights reserved. 7 | // 8 | 9 | #ifndef SPARKLE_H 10 | #define SPARKLE_H 11 | 12 | // This list should include the shared headers. It doesn't matter if some of them aren't shared (unless 13 | // there are name-space collisions) so we can list all of them to start with: 14 | 15 | #import 16 | 17 | #import 18 | #import 19 | #import 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | Sparkle 9 | CFBundleIdentifier 10 | org.andymatuschak.Sparkle 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | Sparkle 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.5 Beta 6 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 313 23 | 24 | 25 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/License.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2006 Andy Matuschak 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/SUStatus.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/SUStatus.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/de.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/de.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/de.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 658 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9C7010 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/en.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 18 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 41 15 | 16 | IBSystem Version 17 | 10A96 18 | targetFramework 19 | IBCocoaFramework 20 | 21 | 22 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/en.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/en.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/es.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/es.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/es.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9D34 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/fr.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/fr.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/fr.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/fr_CA.lproj: -------------------------------------------------------------------------------- 1 | /Users/andym/Development/Build Products/Release (GC dual-mode; 10.5-only)/Sparkle.framework/Resources/fr.lproj -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/it.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 667 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 5 14 | 15 | IBSystem Version 16 | 9D34 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/it.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/it.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | 6 12 | 13 | IBSystem Version 14 | 9D34 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/nl.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 629 7 | IBOldestOS 8 | 5 9 | IBOpenObjects 10 | 11 | IBSystem Version 12 | 9E17 13 | targetFramework 14 | IBCocoaFramework 15 | 16 | 17 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/nl.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/nl.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/relaunch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/relaunch -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9E17 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/ru.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 9E17 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | IBSystem Version 14 | 9E17 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/ru.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/ru.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/sv.lproj/SUAutomaticUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/classes.nib: -------------------------------------------------------------------------------- 1 | { 2 | IBClasses = ( 3 | { 4 | CLASS = FirstResponder; 5 | LANGUAGE = ObjC; 6 | SUPERCLASS = NSObject; 7 | }, 8 | { 9 | CLASS = NSApplication; 10 | LANGUAGE = ObjC; 11 | SUPERCLASS = NSResponder; 12 | }, 13 | { 14 | CLASS = NSObject; 15 | LANGUAGE = ObjC; 16 | }, 17 | { 18 | ACTIONS = { 19 | installUpdate = id; 20 | remindMeLater = id; 21 | skipThisVersion = id; 22 | }; 23 | CLASS = SUUpdateAlert; 24 | LANGUAGE = ObjC; 25 | OUTLETS = { 26 | delegate = id; 27 | description = NSTextField; 28 | releaseNotesView = WebView; 29 | }; 30 | SUPERCLASS = SUWindowController; 31 | }, 32 | { 33 | CLASS = SUWindowController; 34 | LANGUAGE = ObjC; 35 | SUPERCLASS = NSWindowController; 36 | } 37 | ); 38 | IBVersion = 1; 39 | } -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBDocumentLocation 6 | 69 14 356 240 0 0 1280 778 7 | IBFramework Version 8 | 489.0 9 | IBLastKnownRelativeProjectPath 10 | ../Sparkle.xcodeproj 11 | IBOldestOS 12 | 5 13 | IBSystem Version 14 | 9D34 15 | targetFramework 16 | IBCocoaFramework 17 | 18 | 19 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdateAlert.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/info.nib: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IBFramework Version 6 | 670 7 | IBLastKnownRelativeProjectPath 8 | ../Sparkle.xcodeproj 9 | IBOldestOS 10 | 5 11 | IBOpenObjects 12 | 13 | 6 14 | 15 | IBSystem Version 16 | 10A96 17 | targetFramework 18 | IBCocoaFramework 19 | 20 | 21 | -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/sv.lproj/SUUpdatePermissionPrompt.nib/keyedobjects.nib -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Resources/sv.lproj/Sparkle.strings -------------------------------------------------------------------------------- /Sparkle.framework/Versions/A/Sparkle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/Sparkle.framework/Versions/A/Sparkle -------------------------------------------------------------------------------- /Sparkle.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /SpeedTest-Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | com.yourcompany.${PRODUCT_NAME:identifier} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | APPL 15 | CFBundleSignature 16 | ???? 17 | CFBundleVersion 18 | 1.0 19 | NSMainNibFile 20 | MainWindow 21 | 22 | 23 | -------------------------------------------------------------------------------- /Start_iTerm2.applescript: -------------------------------------------------------------------------------- 1 | tell application "iTerm" 2 | activate 3 | try 4 | set myterm to the first terminal 5 | on error 6 | set myterm to (make new terminal) 7 | end try 8 | tell myterm 9 | launch session "gitx" 10 | tell the last session 11 | set name to "Opened by GitX" 12 | exec command "/bin/bash" 13 | write text "cd %%workDir%%; clear; echo '# Opened by GitX:'; git status" 14 | end tell 15 | end tell 16 | end tell 17 | -------------------------------------------------------------------------------- /UpdateKey.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIDOjCCAi0GByqGSM44BAEwggIgAoIBAQCHqXl7R4gxSzQbs9Rx2aah2Gv2MbU9 3 | b32EboHrtPu3Exm3xXlqL9V0OafZjAjnAUOVPa8VprWcF3j/OWk6R6KGLM3ThUUz 4 | 4XsqrKZGpHsTYIe+h8+ArTFnzsv2vHsNF2QkesDahE9lNGcgOQNyJy9XoWUJugaD 5 | JXpizG5fBDfVhOHDI8JPpDyHN9TSIgKYvgeKVvaE5sZ3csb7b1rP4gkB3q9c/h80 6 | ArBeBb5MOe1Iz0aVqidK0fJD66Ah29kvu9yUBkI8gYI/RsODpBS7BDpwZoTHf8TH 7 | TiYhF4fagzleQmda1+eP/FAJcKxmm1NfIBkPKzRaXtWU1jebea2TPMhDAhUAgGen 8 | jSgWMxjKWr9oVtlQqLrL+EMCggEABJHLgZObBVo+85CkJ/Mved+tcePXrWBwvQHE 9 | 8k8I5LmjrFsvMauuwjUvRQm5QyHvys7xETaoR25UuqQFLengeMgt9gFRoWkkIpgS 10 | VNDT8z30+HLsO41w0dKIsn6va5yGkD2fXfSzEqx6qMLPEQJ5nLDJoX03gfZeNFxh 11 | 9chRGJeo4twc1Or4G3EBurAn7Vr6rfQe21dogWTfAv9j6a22cOQObBc2B4z2S097 12 | jNtQ7W0DtYf8R+4qST6Jy7006KZdKmQeCJZaz1j24050VGTXi97wt7r7yXS7slZm 13 | o9hr5cXZTiMrREH098pPG36TEA8miVXxqUCJjDsKNMTyEsoNggOCAQUAAoIBAHHO 14 | Dhi58geSZQgzW+GEvPUAqQ0A/EMI5vNT8g3WsBLoMguWfntmoBjwZfwTue0EQyTU 15 | ouUOaiwtdbmz0XWbMOPIwjSOrWb3+nSQ8hc2m62xdFJnbv1JAYOJJKyjISY2+G6+ 16 | tjWpmv8Or07ao/u61ofCPFWEJwCQE9myrUG6ACyte3GRHqGX3A2IY/J7Ncok4S6I 17 | Zlp27z6beY3BYOM9QUwH1J6VmJn0CXH5jpMFsRo/c/b3iFWFZ80AzDnaX7DXPw8d 18 | 6BVyMZnw+YVNeam30i/at/Ic4hAxBuabBPMulurGY/c+nTW2QlIOCWDAnCQnJpQH 19 | ZSwhpZtVkisZuNaaK8M= 20 | -----END PUBLIC KEY----- 21 | -------------------------------------------------------------------------------- /View/PBArgumentPicker.h: -------------------------------------------------------------------------------- 1 | // 2 | // PBArgumentPicker.h 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface PBArgumentPicker : NSView { 13 | IBOutlet NSTextField *textField; 14 | IBOutlet NSTextField *label; 15 | IBOutlet NSButton *okButton; 16 | IBOutlet NSButton *cancelButton; 17 | } 18 | @property (nonatomic, strong, readonly) NSTextField *textField; 19 | @property (nonatomic, strong, readonly) NSTextField *label; 20 | @property (nonatomic, strong, readonly) NSButton *okButton; 21 | @property (nonatomic, strong, readonly) NSButton *cancelButton; 22 | 23 | 24 | @end 25 | -------------------------------------------------------------------------------- /View/PBArgumentPicker.m: -------------------------------------------------------------------------------- 1 | // 2 | // PBArgumentPicker.m 3 | // GitX 4 | // 5 | // Created by Tomasz Krasnyk on 10-11-06. 6 | // Copyright 2010 __MyCompanyName__. All rights reserved. 7 | // 8 | 9 | #import "PBArgumentPicker.h" 10 | 11 | 12 | @implementation PBArgumentPicker 13 | @synthesize okButton; 14 | @synthesize cancelButton; 15 | @synthesize textField; 16 | @synthesize label; 17 | 18 | - (id)initWithFrame:(NSRect)frame { 19 | self = [super initWithFrame:frame]; 20 | if (self) { 21 | // Initialization code here. 22 | } 23 | return self; 24 | } 25 | 26 | 27 | @end 28 | -------------------------------------------------------------------------------- /gitx.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/gitx.icns -------------------------------------------------------------------------------- /gitx_l_pub.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIDOzCCAi4GByqGSM44BAEwggIhAoIBAQCcFWfTH12JepeAa5CCSLvnXb9yQdY+ 3 | 04bfUimFLszjmhVpzly5Zo01RN6QP8kGI9Ut8ma25xgNbmPECCzkOC4Ob9CDwb1I 4 | PwxC5Sm2oyAZ+2MftkNUkaGe+Vr4ahGFmjqFwx6BT/9TyUYONRMWiwrYJ1ts/fX+ 5 | 7yCGcEI6G2URGoLxfq6+gpzmNiX5SUwLCB8BDBNjMQopElWhMB5gu/wfi6qwZ6ux 6 | JweH8+m21Hr1dkEyx19q3qOIEFgw0ArXLyUQ8eW6gQI4SV+Bl0irJ+3JUuNzfvHQ 7 | 0kbMxny7QJfEoJBmKc451wnnHpxnesFH+cJuJJA8XQt6DQI/FbpT9KoxAhUA9DTM 8 | DxPJWw4LZu8Wuy32SHSX8AsCggEBAJL3esVhM+KT0Tee4lbDgCN/bau239ws328O 9 | mTCRFkjf3lIymrk7F42Jf3fRDI91TV9k7XKTUm+hm9LKOG35EbWT6E4K3UDuu0pR 10 | 3776pwS+unNVM9S/dkvVqz/wWKV8xYS0pUoytLMs+paVJ5gGC9hGPGOH2/FDUrzh 11 | 73ENfYv6xSNQJT08vd4dl7LSX5YrP944hFDAcfv9TcOyaJ++6u81cux0U158Jjee 12 | QDxYAnfQ3Ka06aVm23zKenoQiA7YvbIgXEf7C8Mp2dBQM30pg/s0ARoOC/YiXtux 13 | i7dfxXYpuyQ1f7SxjcQNLPnNDh11YrFAy6hJ59vSmomR6n3Aa6cDggEFAAKCAQBl 14 | aE/IZ1oZo9A10iGyMczI1RbHXeTX8WHv+PwkkRvOhhemeRyz1AKFOgFnkw1gzIxG 15 | WcScAd1rzS4QzLBz54KiQpvIuxZVQsd7E/U9Q1I+45xxpZlBgj7nULDQTl3luVeT 16 | vXvzVW+qnKod4tyzlo8DqGjkJ7MITYtWXjmfLLH8THs1XbvDXX9SSE5U6m/iJedC 17 | olCo/ZD+x6LomIGte1ncXf0z56lLeBip1Z4rpWGcso9WNiq5ipg+HIiuBYcgaNWx 18 | HAI/5a198JYAtTG8NnhO8rBE4hKbJhCExkEQM7jZ4yj33vVk6dC5BORFPVVAmK9v 19 | pcP9mkXnUS9wZP3kbVRv 20 | -----END PUBLIC KEY----- 21 | -------------------------------------------------------------------------------- /html/css/GitX.css: -------------------------------------------------------------------------------- 1 | @import url("diff.css"); 2 | @import url("notification.css"); 3 | 4 | 5 | body { 6 | margin: 0; 7 | margin-top: 5px; 8 | width: 100%; 9 | font-family: 'Lucida Grande', Arial; 10 | } 11 | 12 | #message { 13 | margin-left: 20px; 14 | margin-right: 20px; 15 | margin-top: 40px; 16 | text-align: center; 17 | font-size: 200%; 18 | padding: 20px; 19 | width: auto; 20 | 21 | background-color: #B4D7FF; 22 | border: 2px solid #45A1FE; 23 | 24 | -webkit-border-radius: 10px; 25 | } 26 | 27 | .SWVHL{ 28 | background-color: yellow; 29 | black: black; 30 | } 31 | -------------------------------------------------------------------------------- /html/css/diff.css: -------------------------------------------------------------------------------- 1 | .diff .file { 2 | margin: 10px; 3 | padding: 10px; 4 | -webkit-border-radius: 10px; 5 | border: 1px solid #CCC; 6 | -webkit-box-shadow: 1px 1px 2px #DDD; 7 | } 8 | 9 | .diff .file .fileHeader { 10 | margin-top: -5px; 11 | padding-bottom: 1px; 12 | font-weight: bold; 13 | } 14 | 15 | .diff .file .diffContent { 16 | white-space: pre; 17 | font-family: Menlo, Monaco; 18 | } 19 | 20 | .diff .file .diffcontent .lineno { 21 | float: left; 22 | padding-left: 2px; 23 | padding-right: 2px; 24 | background-color: #ECECEC; 25 | color: #A9A9A9; 26 | border: 1px solid #DDDDDD; 27 | text-align: right; 28 | } 29 | 30 | .diff .file .diffContent .lines { 31 | overflow: auto; 32 | } 33 | 34 | .diff .file .diffContent .lines .hunkheader { 35 | background-color: #f7f7f7; 36 | color: #bbb; 37 | } 38 | 39 | 40 | .diff .file .diffcontent .lines .delline { 41 | background-color: #FEE; 42 | color: #B00; 43 | } 44 | 45 | .diff .file .diffcontent .lines .addline { 46 | background-color: #DFD; 47 | color: #080; 48 | } 49 | 50 | .diff .file .diffcontent .lines .whitespace { 51 | background-color: rgba(255,0,0,0.5); 52 | } 53 | 54 | #CurrentHunk { 55 | border-left: 5px solid black; 56 | } -------------------------------------------------------------------------------- /html/css/notification.css: -------------------------------------------------------------------------------- 1 | #notification { 2 | margin: 5px; 3 | padding: 3px; 4 | clear: both; 5 | 6 | border: 1px solid black; 7 | background-color: #f3f3f3; 8 | 9 | text-align: center; 10 | font-size: 80%; 11 | 12 | -webkit-border-radius: 2px; 13 | } 14 | 15 | #notification.success { 16 | background-color: #CCFF99; 17 | border: 1px solid #99CC66; 18 | } 19 | 20 | #notification.fail { 21 | background-color: #ff9999; 22 | border: 1px solid #cc6666; 23 | } -------------------------------------------------------------------------------- /html/images/added.acorn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/images/added.acorn -------------------------------------------------------------------------------- /html/images/added.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/images/added.png -------------------------------------------------------------------------------- /html/images/modified.acorn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/images/modified.acorn -------------------------------------------------------------------------------- /html/images/modified.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/images/modified.png -------------------------------------------------------------------------------- /html/images/removed.acorn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/images/removed.acorn -------------------------------------------------------------------------------- /html/images/removed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/images/removed.png -------------------------------------------------------------------------------- /html/images/renamed.acorn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/images/renamed.acorn -------------------------------------------------------------------------------- /html/images/renamed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/images/renamed.png -------------------------------------------------------------------------------- /html/images/spinner.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/images/spinner.gif -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/MIT-LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003, 2004 Jim Weirich 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/config.rb: -------------------------------------------------------------------------------- 1 | environment = :production 2 | project_type = :stand_alone 3 | http_path = "/" 4 | css_dir = "../styles" 5 | sass_dir = "." 6 | images_dir = "images" 7 | sass_options = { 8 | :line_numbers => false, 9 | :debug_info => false 10 | } 11 | 12 | # output_style = :compressed 13 | # output_style = :compact 14 | output_style = :expanded 15 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shCoreDefault.scss: -------------------------------------------------------------------------------- 1 | @import "shCore.scss"; 2 | @import "shThemeDefault.scss"; 3 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shCoreDjango.scss: -------------------------------------------------------------------------------- 1 | @import "shCore.scss"; 2 | @import "shThemeDjango.scss"; 3 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shCoreEclipse.scss: -------------------------------------------------------------------------------- 1 | @import "shCore.scss"; 2 | @import "shThemeEclipse.scss"; 3 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shCoreEmacs.scss: -------------------------------------------------------------------------------- 1 | @import "shCore.scss"; 2 | @import "shThemeEmacs.scss"; 3 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shCoreFadeToGrey.scss: -------------------------------------------------------------------------------- 1 | @import "shCore.scss"; 2 | @import "shThemeFadeToGrey.scss"; 3 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shCoreMDUltra.scss: -------------------------------------------------------------------------------- 1 | @import "shCore.scss"; 2 | @import "shThemeMDUltra.scss"; 3 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shCoreMidnight.scss: -------------------------------------------------------------------------------- 1 | @import "shCore.scss"; 2 | @import "shThemeMidnight.scss"; 3 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shCoreRDark.scss: -------------------------------------------------------------------------------- 1 | @import "shCore.scss"; 2 | @import "shThemeRDark.scss"; 3 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shThemeDefault.scss: -------------------------------------------------------------------------------- 1 | // Default Syntax Highlighter theme. 2 | 3 | @import "_theme_template.scss"; 4 | 5 | .syntaxhighlighter { 6 | .keyword { font-weight: bold !important; } 7 | } 8 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shThemeDjango.scss: -------------------------------------------------------------------------------- 1 | // Django SyntaxHighlighter theme 2 | 3 | $background: #0a2b1d !default; 4 | 5 | $line_highlighted_background: #233729 !default; 6 | $line_highlighted_number: white !default; 7 | 8 | $gutter_text: #497958 !default; 9 | $gutter_border_color: #41a83e !default; 10 | 11 | $toolbar_collapsed_a: #96dd3b !default; 12 | $toolbar_collapsed_a_hover: #fff !default; 13 | $toolbar_collapsed_background: #000 !default; 14 | 15 | $toolbar_a: #fff !default; 16 | $toolbar_a_hover: #ffe862 !default; 17 | 18 | $code_plain: #f8f8f8 !default; 19 | $code_comments: #336442 !default; 20 | $code_string: #9df39f !default; 21 | $code_keyword: #96dd3b !default; 22 | $code_preprocessor: #91bb9e !default; 23 | $code_variable: #ffaa3e !default; 24 | $code_value: #f7e741 !default; 25 | $code_functions: #ffaa3e !default; 26 | $code_constants: #e0e8ff !default; 27 | $code_color1: #eb939a !default; 28 | $code_color2: #91bb9e !default; 29 | $code_color3: #edef7d !default; 30 | 31 | @import "_theme_template.scss"; 32 | 33 | .syntaxhighlighter { 34 | .comments { font-style: italic !important; } 35 | .keyword { font-weight: bold !important; } 36 | } 37 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shThemeEmacs.scss: -------------------------------------------------------------------------------- 1 | // Emacs SyntaxHighlighter theme based on theme by Joshua Emmons 2 | // http://www.skia.net/ 3 | 4 | $background: black !default; 5 | 6 | $line_highlighted_background: #2A3133 !default; 7 | $line_highlighted_number: white !default; 8 | 9 | $gutter_text: #d3d3d3 !default; 10 | $gutter_border_color: #990000 !default; 11 | 12 | $toolbar_collapsed_a: #ebdb8d !default; 13 | $toolbar_collapsed_a_hover: #ff7d27 !default; 14 | $toolbar_collapsed_background: black !default; 15 | 16 | $toolbar_a: #fff !default; 17 | $toolbar_a_hover: #9ccff4 !default; 18 | 19 | $code_plain: #d3d3d3 !default; 20 | $code_comments: #ff7d27 !default; 21 | $code_string: #ff9e7b !default; 22 | $code_keyword: aqua !default; 23 | $code_preprocessor: #aec4de !default; 24 | $code_variable: #ffaa3e !default; 25 | $code_value: #009900 !default; 26 | $code_functions: #81cef9 !default; 27 | $code_constants: #ff9e7b !default; 28 | $code_color1: #ebdb8d !default; 29 | $code_color2: #ff7d27 !default; 30 | $code_color3: #aec4de !default; 31 | 32 | @import "_theme_template.scss"; 33 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shThemeMDUltra.scss: -------------------------------------------------------------------------------- 1 | // MDUltra SyntaxHighlighter theme based on Midnight Theme 2 | // http://www.mddev.co.uk/ 3 | 4 | $background: #222222 !default; 5 | 6 | $line_highlighted_background: #253e5a !default; 7 | $line_highlighted_number: white !default; 8 | 9 | $gutter_text: #38566f !default; 10 | $gutter_border_color: #435a5f !default; 11 | 12 | $toolbar_collapsed_a: #428bdd !default; 13 | $toolbar_collapsed_a_hover: lime !default; 14 | $toolbar_collapsed_background: black !default; 15 | 16 | $toolbar_a: #aaaaff !default; 17 | $toolbar_a_hover: #9ccff4 !default; 18 | 19 | $code_plain: lime !default; 20 | $code_comments: #428bdd !default; 21 | $code_string: lime !default; 22 | $code_keyword: #aaaaff !default; 23 | $code_preprocessor: #8aa6c1 !default; 24 | $code_variable: aqua !default; 25 | $code_value: #f7e741 !default; 26 | $code_functions: #ff8000 !default; 27 | $code_constants: yellow !default; 28 | $code_color1: red !default; 29 | $code_color2: yellow !default; 30 | $code_color3: #ffaa3e !default; 31 | 32 | @import "_theme_template.scss"; 33 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shThemeMidnight.scss: -------------------------------------------------------------------------------- 1 | // Midnight SyntaxHighlighter theme based on theme by J.D. Myers 2 | // http://webdesign.lsnjd.com/ 3 | 4 | $background: #0f192a !default; 5 | 6 | $line_highlighted_background: #253e5a !default; 7 | $line_highlighted_number: #38566f !default; 8 | 9 | $gutter_text: #afafaf !default; 10 | $gutter_border_color: #435a5f !default; 11 | 12 | $toolbar_collapsed_a: #428bdd !default; 13 | $toolbar_collapsed_a_hover: #1dc116 !default; 14 | $toolbar_collapsed_background: #000 !default; 15 | 16 | $toolbar_a: #D1EDFF !default; 17 | $toolbar_a_hover: #8aa6c1 !default; 18 | 19 | $code_plain: #d1edff !default; 20 | $code_comments: #428bdd !default; 21 | $code_string: #1dc116 !default; 22 | $code_keyword: #b43d3d !default; 23 | $code_preprocessor: #8aa6c1 !default; 24 | $code_variable: #ffaa3e !default; 25 | $code_value: #f7e741 !default; 26 | $code_functions: #ffaa3e !default; 27 | $code_constants: #e0e8ff !default; 28 | $code_color1: #f8bb00 !default; 29 | $code_color2: white !default; 30 | $code_color3: #ffaa3e !default; 31 | 32 | @import "_theme_template.scss"; 33 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/compass/shThemeRDark.scss: -------------------------------------------------------------------------------- 1 | // RDark SyntaxHighlighter theme based on theme by Radu Dineiu 2 | // http://www.vim.org/scripts/script.php?script_id=1732 3 | 4 | $background: #1b2426 !default; 5 | 6 | $line_highlighted_background: #323E41 !default; 7 | $line_highlighted_number: #b9bdb6 !default; 8 | 9 | $gutter_text: #afafaf !default; 10 | $gutter_border_color: #435a5f !default; 11 | 12 | $toolbar_collapsed_a: #5ba1cf !default; 13 | $toolbar_collapsed_a_hover: #5ce638 !default; 14 | $toolbar_collapsed_background: #000 !default; 15 | 16 | $toolbar_a: #fff !default; 17 | $toolbar_a_hover: #e0e8ff !default; 18 | 19 | $code_plain: #b9bdb6 !default; 20 | $code_comments: #878a85 !default; 21 | $code_string: #5ce638 !default; 22 | $code_keyword: #5ba1cf !default; 23 | $code_preprocessor: #435a5f !default; 24 | $code_variable: #ffaa3e !default; 25 | $code_value: #009900 !default; 26 | $code_functions: #ffaa3e !default; 27 | $code_constants: #e0e8ff !default; 28 | $code_color1: #e0e8ff !default; 29 | $code_color2: white !default; 30 | $code_color3: #ffaa3e !default; 31 | 32 | @import "_theme_template.scss"; 33 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello SyntaxHighlighter 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Hello SyntaxHighlighter

15 |
16 | function helloSyntaxHighlighter()
17 | {
18 | 	return "hi!";
19 | }
20 | 
21 | 22 | 23 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/scripts/shBrushPlain.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/SyntaxHighlighter 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/SyntaxHighlighter/donate.html 7 | * 8 | * @version 9 | * 3.0.83 (July 02 2010) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2010 Alex Gorbatchev. 13 | * 14 | * @license 15 | * Dual licensed under the MIT and GPL licenses. 16 | */ 17 | ;(function() 18 | { 19 | // CommonJS 20 | typeof(require) != 'undefined' ? SyntaxHighlighter = require('shCore').SyntaxHighlighter : null; 21 | 22 | function Brush() 23 | { 24 | }; 25 | 26 | Brush.prototype = new SyntaxHighlighter.Highlighter(); 27 | Brush.aliases = ['text', 'plain']; 28 | 29 | SyntaxHighlighter.brushes.Plain = Brush; 30 | 31 | // CommonJS 32 | typeof(exports) != 'undefined' ? exports.Brush = Brush : null; 33 | })(); 34 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/.rvmrc: -------------------------------------------------------------------------------- 1 | rvm 1.8.7-p249@copydeca -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/cases/001_basic.html: -------------------------------------------------------------------------------- 1 |
 2 | 	/**
 3 | 	 * multiline comment 
 4 | 	 */
 5 | 	
 6 | 	text
 7 | 	
 8 | 	// single line comment
 9 | 	
10 | 	text
11 | 	
12 | 	"string" text 'string' text "string"
13 | 	"string with \" escape" text 'string with \' escape' text "string with \" escape"
14 | 	
15 | 	var code = '\
16 | 		function helloWorld()\
17 | 		{\
18 | 			// this is great!\
19 | 			for(var i = 0; i <= 1; i++)\
20 | 				alert("yay");\
21 | 		}\
22 | 		';
23 | 
24 | 25 | 43 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/cases/003_script_tag.html: -------------------------------------------------------------------------------- 1 |
2 | 22 |
23 | 24 | 43 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/cases/005_no_gutter.html: -------------------------------------------------------------------------------- 1 |
 2 | 			public Image getImage(URL url, String name) {
 3 | 				try {
 4 | 					/*
 5 | 					   Regular multiline comment.
 6 | 					*/
 7 | 				    return getImage(new URL(url, name));
 8 | 				} catch (MalformedURLException e) {
 9 | 				    return null;
10 | 				}
11 | 			}
12 | 
13 | 14 | 34 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/cases/006_pad_line_numbers.html: -------------------------------------------------------------------------------- 1 |
 2 | /**
 3 |  * Returns an Image object that can then be painted on the screen. 
 4 |  * The url argument must specify an absolute {@link URL}. The name
 5 |  * argument is a specifier that is relative to the url argument. 
 6 |  *
 7 |  * @param  url  an absolute URL giving the base location of the image
 8 |  * @param  name the location of the image, relative to the url argument
 9 |  * @return      the image at the specified URL
10 |  * @see         Image
11 |  */
12 | 
13 | 14 | 40 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/cases/007_collapse_interaction.html: -------------------------------------------------------------------------------- 1 | 45 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/cases/008_first_line.html: -------------------------------------------------------------------------------- 1 |
 2 | 	partial class Foo
 3 | 	{
 4 | 		function test()
 5 | 		{
 6 | 			yield return;
 7 | 		}
 8 | 	}
 9 | 
10 | 11 | 30 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/cases/009_class_name.html: -------------------------------------------------------------------------------- 1 |
 2 | 	public Image getImage(URL url, String name) {
 3 | 		try {
 4 | 			/*
 5 | 			   Regular multiline comment.
 6 | 			*/
 7 | 		    return getImage(new URL(url, name));
 8 | 		} catch (MalformedURLException e) {
 9 | 		    return null;
10 | 		}
11 | 	}
12 | 
13 | 14 | 33 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/cases/012_server_side.html: -------------------------------------------------------------------------------- 1 | 9 | 10 |
11 |
12 | 13 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/cases/013_html_script.html: -------------------------------------------------------------------------------- 1 |
 2 | <hello>
 3 | 	<%
 4 | 		package free.cafekiwi.gotapi;
 5 | 	%>
 6 | </hello>
 7 | 
 8 | 
11 | <%= print(); %>
12 | 
13 | 14 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/commonjs_tests.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This is a CommonJS compatibility test. You can run this file with node. 3 | */ 4 | require.paths.unshift(__dirname + '/../scripts'); 5 | 6 | var sys = require('sys'), 7 | shSyntaxHighlighter = require('shCore').SyntaxHighlighter, 8 | code = 'test', 9 | brushes = [ 10 | 'AS3', 11 | 'AppleScript', 12 | 'Bash', 13 | 'CSharp', 14 | 'ColdFusion', 15 | 'Cpp', 16 | 'Css', 17 | 'Delphi', 18 | 'Diff', 19 | 'Erlang', 20 | 'Groovy', 21 | 'JScript', 22 | 'Java', 23 | 'JavaFX', 24 | 'Perl', 25 | 'Php', 26 | 'Plain', 27 | 'PowerShell', 28 | 'Python', 29 | 'Ruby', 30 | 'Sass', 31 | 'Scala', 32 | 'Sql', 33 | 'Vb', 34 | 'Xml' 35 | ] 36 | ; 37 | 38 | brushes.sort(); 39 | 40 | for (var i = 0; i < brushes.length; i++) 41 | { 42 | var name = brushes[i], 43 | brush = require('shBrush' + name).Brush 44 | ; 45 | 46 | brush = new brush(); 47 | brush.init({ toolbar: false }); 48 | 49 | var result = brush.getHtml(code); 50 | 51 | sys.puts(name + (result != null ? ': ok' : ': NOT OK')); 52 | } 53 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/webrick.rb: -------------------------------------------------------------------------------- 1 | require 'webrick' 2 | include WEBrick 3 | 4 | s = HTTPServer.new( 5 | :Port => 2010, 6 | :DocumentRoot => Dir::pwd 7 | ) 8 | s.mount('/sh/scripts', WEBrick::HTTPServlet::FileHandler, '../scripts') 9 | s.mount('/sh/styles', WEBrick::HTTPServlet::FileHandler, '../styles') 10 | trap('INT') { s.stop } 11 | s.start 12 | -------------------------------------------------------------------------------- /html/lib/syntaxhighlighter/tests/webrick.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ruby webrick.rb 3 | -------------------------------------------------------------------------------- /html/views/blame/blame.js: -------------------------------------------------------------------------------- 1 | var setMessage = function(message) { 2 | $("message").style.display = ""; 3 | $("message").innerHTML = message.escapeHTML(); 4 | $("blame").style.display = "none"; 5 | } 6 | 7 | var showFile = function(txt) { 8 | $("blame").style.display = ""; 9 | $("blame").innerHTML="
"+txt+"
"; 10 | $("message").style.display = "none"; 11 | 12 | SyntaxHighlighter.defaults['toolbar'] = false; 13 | SyntaxHighlighter.highlight(); 14 | return; 15 | } 16 | 17 | var selectCommit = function(a) { 18 | Controller.selectCommit_(a); 19 | } 20 | -------------------------------------------------------------------------------- /html/views/commit/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Diff for file 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |

18 | 19 | Context: 20 | Nothing to commit 21 | 22 |

23 | 24 | 28 | 29 | 32 |
33 | Nothing to commit (working directory clean) 34 |
35 |
36 | 37 | -------------------------------------------------------------------------------- /html/views/commit/multipleSelection.js: -------------------------------------------------------------------------------- 1 | var showMultipleFilesSelection = function(files) 2 | { 3 | hideNotification(); 4 | setTitle(""); 5 | 6 | var div = $("diff"); 7 | 8 | var contents = '
' + 9 | '
Multiple Selection
'; 10 | 11 | contents += "
    "; 12 | 13 | for (var i = 0; i < files.length; ++i) 14 | { 15 | var file = files[i]; 16 | contents += "
  • " + file.path + "
  • "; 17 | } 18 | contents += "
"; 19 | 20 | div.innerHTML = contents; 21 | div.style.display = ""; 22 | } -------------------------------------------------------------------------------- /html/views/diff/diffWindow.js: -------------------------------------------------------------------------------- 1 | var setMessage = function(message) { 2 | $("message").style.display = ""; 3 | $("message").innerHTML = message.escapeHTML(); 4 | $("diff").style.display = "none"; 5 | } 6 | 7 | var showFile = function(txt) { 8 | $("diff").style.display = ""; 9 | $("diff").innerHTML = txt; 10 | $("message").style.display = "none"; 11 | } 12 | 13 | // TODO: need to be refactoring 14 | var openFileMerge = function(file,sha,sha2) { 15 | alert(file); 16 | alert(sha); 17 | alert(sha2); 18 | Controller.openFileMerge_sha_sha2_(file,sha,sha2); 19 | } 20 | -------------------------------------------------------------------------------- /html/views/diff/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /html/views/history/history.js: -------------------------------------------------------------------------------- 1 | // TODO: need to be refactoring 2 | var selectCommit = function(a) { 3 | Controller.selectCommit_(a); 4 | } 5 | 6 | // TODO: need to be refactoring 7 | var openFileMerge = function(file,sha,sha2) { 8 | alert(file); 9 | alert(sha); 10 | alert(sha2); 11 | Controller.openFileMerge_sha_sha2_(file,sha,sha2); 12 | } 13 | 14 | var showImage = function(element, filename) 15 | { 16 | element.outerHTML = ''; 17 | return false; 18 | } 19 | 20 | var showCommit = function(data){ 21 | $("commit").innerHTML=data; 22 | } 23 | 24 | var showFullDiff = function() { 25 | Controller.showLongDiff(); 26 | Controller.updateView(); 27 | } 28 | -------------------------------------------------------------------------------- /html/views/history/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Details for commit 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /html/views/log/format.html: -------------------------------------------------------------------------------- 1 |
2 |

%s

3 | 4 | 5 | 6 | 7 |
Author:%aN
Date:%ar
Commit:%H
8 |
9 | -------------------------------------------------------------------------------- /html/views/log/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 | 17 | 18 | -------------------------------------------------------------------------------- /html/views/log/log.css: -------------------------------------------------------------------------------- 1 | .commit table tr td:nth-of-type(1){ 2 | text-align: right; 3 | color: gray; 4 | } 5 | 6 | .commit{ 7 | margin: 10px; 8 | padding: 10px; 9 | border-radius: 10px; 10 | border: 1px solid #CCC; 11 | -webkit-box-shadow: 1px 1px 2px #DDD; 12 | } -------------------------------------------------------------------------------- /html/views/log/log.js: -------------------------------------------------------------------------------- 1 | var selectCommit = function(a) { 2 | window.Controller.selectCommit_(a); 3 | return false; 4 | } 5 | 6 | var setMessage = function(message) { 7 | $("message").style.display = ""; 8 | $("message").innerHTML = message.escapeHTML(); 9 | $("log").style.display = "none"; 10 | } 11 | 12 | var showFile = function(txt) { 13 | $("log").innerHTML = txt; 14 | $("log").style.display = ""; 15 | $("message").style.display = "none"; 16 | } 17 | -------------------------------------------------------------------------------- /html/views/source/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 | 16 | -------------------------------------------------------------------------------- /html/views/source/source.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/html/views/source/source.css -------------------------------------------------------------------------------- /html/views/source/source.js: -------------------------------------------------------------------------------- 1 | var showFile = function(txt) { 2 | $("source").style.display = ""; 3 | $("source").innerHTML="
"+txt+"
"; 4 | 5 | SyntaxHighlighter.defaults['toolbar'] = false; 6 | SyntaxHighlighter.highlight(); 7 | 8 | return; 9 | } 10 | -------------------------------------------------------------------------------- /list_Template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/list_Template.png -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // GitTest 4 | // 5 | // Created by Pieter de Bie on 13-06-08. 6 | // Copyright __MyCompanyName__ 2008. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, char *argv[]) 12 | { 13 | return NSApplicationMain(argc, (const char **) argv); 14 | } 15 | -------------------------------------------------------------------------------- /sidebar_Template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/sidebar_Template.png -------------------------------------------------------------------------------- /source.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/source.css -------------------------------------------------------------------------------- /sourceListAction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/sourceListAction.png -------------------------------------------------------------------------------- /sourceListActionOver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/sourceListActionOver.png -------------------------------------------------------------------------------- /speed_test/README: -------------------------------------------------------------------------------- 1 | These tests demonstrate 3 different ways to allocate memory for the graph 2 | viewer. 3 | 4 | The methods: 5 | 6 | 1. global 7 | This method allocates a global memory pool that is used by all structs. 8 | It is the fastest method and should be easy to clean up. You do have to 9 | make sure that any pointers to the memory used by others is cleaned up. 10 | 1. malloc 11 | This methods does two mallocs for every iteration. It is slightly slower 12 | (2x as slow), but won't require as much unfragmented memory. It is harder 13 | to clean up this memory, as it requires an equal amount of free's. 14 | 2. array 15 | This method uses NSMutableArray's to store the necessary information. It is 16 | by far the slowest (10x slower than global) but will make use of 17 | Objective-C's garbage collection. This is the easiest way to go if it isn't 18 | too slow. Looping and creating the arrays takes about 2 seconds for 800k 19 | iterations. The question is if this significantly slows down the work. 20 | 21 | Results: 22 | 23 | global: 0.18 seconds 24 | malloc: 0.39 seconds 25 | array: 1.90 seconds 26 | 27 | -------------------------------------------------------------------------------- /speed_test/array.m: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | int main() { 10 | srandomdev(); 11 | 12 | int i = 0; struct list* last; 13 | int num = atoi("8000000"); 14 | 15 | int size = 1000; 16 | int totColumns = 10000; 17 | int currentColumn = 0; 18 | 19 | NSMutableArray* array = [NSMutableArray arrayWithCapacity: 100*size]; 20 | 21 | for (i = 0; i < num; i++) { 22 | int numColumns = i % 5; 23 | 24 | NSMutableArray* arr = [NSMutableArray arrayWithCapacity: numColumns]; 25 | int j; 26 | for (j = 0; j < numColumns; j++) 27 | [arr addObject: @"Ha"]; 28 | [array addObject: arr]; 29 | } 30 | 31 | [array release]; 32 | return 0; 33 | } -------------------------------------------------------------------------------- /speedtest.h: -------------------------------------------------------------------------------- 1 | // 2 | // speedtest.h 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 20-11-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | 12 | @interface speedtest : NSObject { 13 | 14 | } 15 | 16 | @end 17 | -------------------------------------------------------------------------------- /speedtest.m: -------------------------------------------------------------------------------- 1 | // 2 | // speedtest.m 3 | // GitX 4 | // 5 | // Created by Pieter de Bie on 20-11-08. 6 | // Copyright 2008 Pieter de Bie. All rights reserved. 7 | // 8 | 9 | #import "speedtest.h" 10 | #import "PBGitRepository.h" 11 | #import "PBGitRevList.h" 12 | 13 | int main() 14 | { 15 | PBGitRepository *repo = [[PBGitRepository alloc] initWithURL:[NSURL URLWithString:@"file:///Users/pieter/projects/git"]]; 16 | PBGitRevList *revList = [[PBGitRevList alloc] initWithRepository:repo]; 17 | PBGitRevSpecifier *revSpecifier = [[PBGitRevSpecifier alloc] initWithParameters:[NSArray arrayWithObject:@"master"]]; 18 | 19 | //[repo reloadRefs]; 20 | [revList walkRevisionListWithSpecifier:revSpecifier]; 21 | 22 | return 0; 23 | } -------------------------------------------------------------------------------- /stash-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/stash-icon.png -------------------------------------------------------------------------------- /submodule-empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/submodule-empty.png -------------------------------------------------------------------------------- /submodule-matching-index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/submodule-matching-index.png -------------------------------------------------------------------------------- /submodule-notmatching-index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/laullon/gitx/bff6661f40d1c47e400a28c1ff19972adb64d2fa/submodule-notmatching-index.png -------------------------------------------------------------------------------- /test/framework.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env arch -i386 macruby 2 | 3 | require 'fileutils' 4 | 5 | TEST_DIR = File.dirname(__FILE__) 6 | FRAMEWORK_DIR = File.join(TEST_DIR, "..", "build", "Debug", "GitXTesting.framework") 7 | 8 | framework FRAMEWORK_DIR 9 | framework 'Cocoa' 10 | 11 | TEST_TMP_DIR = File.join(TEST_DIR, "tmp") 12 | FileUtils.mkdir_p(TEST_TMP_DIR) -------------------------------------------------------------------------------- /version.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildVersion 6 | 18 7 | CFBundleVersion 8 | 1.0 9 | ProjectName 10 | NibPBTemplates 11 | SourceVersion 12 | 1200000 13 | 14 | 15 | --------------------------------------------------------------------------------