Commit Graph

79 Commits

Author SHA1 Message Date
Pieter de Bie e570c3e50a Use structs for graph lines
We used to use NSObjects, which was really expensive, because for each commit
as many as 100 graphlines can be created. By preallocating them and not
using NSObjects in general, we gain a massive speedup
2008-11-24 22:54:04 +01:00
Pieter de Bie d2eafc2d52 Include libgit2 as submodule and use it to store sha's
This reduces GitX's memory usage and makes some operations much faster,
like graphing, by having a cheaper comparison
2008-11-24 22:53:48 +01:00
Pieter de Bie 1a7ad9415f PBGitRevList: Rewrite as C++ code
This produces cleaner code and is also significantly faster
than the old obj-c code: linux-2.6 goes from ~8 seconds
to ~6 seconds.

Using the c++ code allows us to do easy optimizations
2008-11-24 22:32:51 +01:00
Pieter de Bie 3d64d83f98 Create a new SpeedTest target
This adds a new target 'SpeedTest', which just loads in a repository
and displays how long it takes to load the revision. This is handy for
testing the speed of the revwalking mechanism
2008-11-24 22:32:46 +01:00
Pieter de Bie cef35ac7ce GitGrapher: Rewrite looping code to C++
This makes the revwalking faster by not creating as many NSObjects as before.
2008-11-24 22:32:42 +01:00
Kim Does ac0327249d Add icons for the history view and commit view 2008-11-20 15:09:55 +01:00
Arjen Laarhoven 17158e888d GitX.xcodeproj: Quote paths in html copy script
When the path to the project contains spaces, the html copy script
fails.  Fix it by properly quoting the `resource_path' variable.
2008-11-19 00:13:30 +01:00
Pieter de Bie 0975426f2f CommitView: move index functions to separate controller
This merges functionality that was previously stored in the
combination of PBGitCommitController / PBChangedFile to a
dedicated controller, PBGitIndexController.
2008-11-18 23:59:25 +01:00
Kim Does ca7816b523 Add new icons for "Add Branch" and "Add Label"
The "Add Label"/tag will be used in the future
2008-11-17 13:52:25 +01:00
Pieter de Bie 058fbcff58 RefController: Refactor ref menu to its own class 2008-11-01 23:16:41 +01:00
Pieter de Bie a9dad9dd31 GitRevisionCell: Allow right-clicking on refs
This reuses the code in the RefController to show context menus
when right-clicking on refs.
2008-11-01 22:51:10 +01:00
Pieter de Bie 23c918660c HistoryView: Allow creation of branches 2008-11-01 22:51:10 +01:00
Pieter de Bie 4cefe8ee92 HistoryView: Allow dragging of refs to move them 2008-11-01 21:14:24 +01:00
Pieter de Bie e232181fae Add a GitX:// protocol handler
This allows to read in arbitrary blobs from the repository.
For more information, see the CallingFromWebKit.txt
document in the Documentation/ directory.
2008-11-01 19:06:05 +01:00
Pieter de Bie 0a40f876d1 PBWebController: Add asynchronous functions
This allows us to keep the UI responsive while
running expensive commands
2008-10-31 23:44:28 +01:00
Pieter de Bie 77ad37a76a History/CommitView: Use a nice-looking splitview divider
This uses images based on those in Mail.app to create a nice
looking splitview (Hush, don't tell Apple!)
2008-10-31 23:44:24 +01:00
Pieter de Bie 9382cbf266 Merge commit '9e2618c3ea0e0517e156c3e04b9dba356311f361'
* commit '9e2618c3ea0e0517e156c3e04b9dba356311f361':
  Reorder project
  CommitView: Allow committing per hunk
2008-10-28 23:08:13 +01:00
Pieter de Bie 19f4d94ec6 Add a Complete SHA service
This adds a service bound to ⌘⇧7 that expands
any ref to its abbreviated SHA and its subject
line, much like ⌘C in the commit list does.
2008-10-27 17:40:46 +01:00
Pieter de Bie 9e2618c3ea Reorder project 2008-10-21 23:31:56 +02:00
Pieter de Bie bd097b0eff HTML: Restructure html folder
This changes the HTML part of GitX to be more consistent -- we
now use a "views" directory where every web view has it's own
directory.

Furthermore, GitX-wide Javascript is added in the "lib" directory.
The same is true for CSS in the "css" directory. Every view can
have its own custom CSS and JS, and those are put in the views
directory (without JS or CSS prefix directories).
2008-10-21 22:48:47 +02:00
Pieter de Bie 4363ad159a Clean up project
There were some leftover file entries, so let's
remove them.
2008-10-21 22:25:29 +02:00
Pieter de Bie 9b86f61991 Build fix 2008-10-21 17:44:21 +02:00
Pieter de Bie b82faa56af Merge branch 'pu/pb/diff_window'
* pu/pb/diff_window:
  Add a diff window
2008-10-21 17:31:31 +02:00
Pieter de Bie 36c550f8cd Merge branch 'pu/pb/remove_prototype'
* pu/pb/remove_prototype:
  HTMLviews: various cleanups
  WebHistoryView: Don't use Prototype
  WebDiffView: Don't use prototype anymore
  WebController: Display JS errors
2008-10-21 16:52:55 +02:00
Pieter de Bie d41f546620 Project: Move CommitList to 'git' folder
This is in accordance with the recent tendency to move all objects
related to a view in that folder (rather than only objects that have an
actual meaning in the Git context)
2008-10-21 15:45:40 +02:00
Pieter de Bie e8131c3898 Add a diff window
This allows you to do something like

	gitx --diff

to display a diff similar to 'git diff', but with GitX prettification.

It accepts all git diff parameters, so you can do something like

	gitx --diff HEAD~10

to show the diff compared to the last 10 commits. Or, you can something like

	git diff | gitx

to pipe anything that produces a diff to GitX
2008-10-21 15:43:26 +02:00
Stephen Celis 43bb12317c WebHistoryView: Don't use Prototype
This removes all dependencies on Prototype in GitX, so we can remove
the library
2008-10-21 15:27:39 +02:00
Pieter de Bie 7b36ac1a2e WebDiffView: Don't use prototype anymore
This is the first step to removing Prototype from GitX.
2008-10-21 15:24:37 +02:00
Jeff Mesnil fc63af0709 CommitView: Add a vertical line to the commit message
Since Git recommends to use 50 characters in the first line of a commit
message, this adds a vertical line to the commit message view to show where
the 50 char limit is.

[PB: This preference can be changed using a user default -- for now we don't
have a preference pane yet, so this is hidden.]
2008-10-21 14:56:43 +02:00
Pieter de Bie 99b6afd37a WebController: Add a message to check whether a site is reachable 2008-10-19 14:05:14 +02:00
Jeremy Sanderson 0e46f27ad0 Added gravatar icons to commit.html (defaults to "wavatar" icons) 2008-10-19 14:05:10 +02:00
Pieter de Bie 85c942f530 Merge branch 'pu/pb/git_config'
* pu/pb/git_config:
  CommitView/Gistie: Use github.user and github.login
  Add a way to retrieve values from .git/config files
2008-10-14 16:45:45 +02:00
Pieter de Bie 7c28f56f77 Move CLI files to cli group 2008-10-14 16:28:57 +02:00
Pieter de Bie afb3d45656 Add a way to retrieve values from .git/config files
This introduces the PBGitConfig class. It is KVC compliant as far
as I can see, in that you can actually bind to it in IB and use
ValueForKeyPath to retrieve values. It currently only handles
strings; it should be possible to add functions to process
booleans and numbers to it.
2008-10-14 01:02:27 +02:00
Pieter de Bie 472d36c7f9 CommitView: Add context menu to revert changes 2008-10-10 21:59:23 +02:00
Pieter de Bie 40e9726254 WebControllers: Refactor to use common code 2008-10-10 21:59:21 +02:00
Pieter de Bie 8c9697968b Better handle the cases when a Git binary can't be found 2008-10-04 22:41:16 +02:00
Pieter de Bie bae7566cde HistoryView: Allow tripple-clicking on header to undo sorting 2008-10-03 19:07:05 +02:00
Pieter de Bie a0f248ef9f CommitView: Also show deleted files correctly 2008-10-03 18:06:57 +02:00
Pieter de Bie c6966ade41 HistoryView: Add a method to put a commit online 2008-09-25 22:25:46 +02:00
Pieter de Bie b257f0090a Fix compiler warnings 2008-09-24 17:19:58 +02:00
Ciarán Walsh b8292f1b34 Adding an icon and text cell implementation from CocoaDev 2008-09-23 22:11:28 +01:00
Pieter de Bie cafcdeac5a Remove leftover file references 2008-09-23 02:18:02 +02:00
Pieter de Bie 44009b6f3e CommitView: use only one array for all files 2008-09-23 02:04:12 +02:00
Pieter de Bie 252796ee26 CommitView: Show basic files 2008-09-23 01:02:33 +02:00
Pieter de Bie 53dfea545e PBViewController: Extract common code to a superclass 2008-09-22 21:40:42 +02:00
Pieter de Bie 43d7285ac1 Add a commit view mockup 2008-09-19 22:25:48 +02:00
Pieter de Bie 708c08a293 First part of splitting views 2008-09-19 21:36:52 +02:00
Pieter de Bie f705bd46ab Merge branch 'insta-decorate'
* insta-decorate:
  Add framework to support removing refs
  Show refs in HTML view
  Allow copy and pasting of web source by pressing 'c'
  Refactor cellInfo structure
  Only decorate if we need to
  Multithread test
  Add objective c diff header

Conflicts:
	GitX.xcodeproj/project.pbxproj
2008-09-19 19:22:40 +02:00
Pieter de Bie 1f783c91c4 Reload refs on refresh 2008-09-19 19:17:07 +02:00