Commit Graph

462 Commits

Author SHA1 Message Date
Pieter de Bie afcd0b4bc6 GitRevSpecifier: Add NSCoder protocol
This way, the RevSpecs can be loaded from a menu,
so we can use them in the toolbar customization
2008-12-01 13:51:35 +01:00
Pieter de Bie 4dd7a46b86 Allow Toolbar customization
This allows both toolbars to be customized.
2008-12-01 13:50:51 +01:00
Pieter de Bie 578edf879e Site: Add a page title in the header 2008-12-01 13:19:23 +01:00
Pieter de Bie 0b65b54f7f Add a warning about possible error 2008-12-01 13:07:06 +01:00
Pieter de Bie ea0b28d52c Fix copying of commits
This was broken after using libgit2's sha's objects, as we now need to use
realSha
2008-12-01 13:06:08 +01:00
Pieter de Bie 23bb1658d9 WIP: Prettify the diff display by using rounded corners
This wraps each changed file in its own rounded box, making
the diff display easier to the eye :)
2008-11-26 17:44:49 +01:00
Pieter de Bie 07554fbd1f Add toggle function 2008-11-26 17:44:48 +01:00
Pieter de Bie 0a2ddc36f7 GitWindowController: Store multiple views
This keeps the subviews in memory, which means that switching views will
be faster if a view has already been opened. This also allows you to type
a commit message, switch to the history view, and then switch back to
continue typing.
2008-11-26 17:44:25 +01:00
Pieter de Bie 3dd6385440 Fix memory leaks 2008-11-26 17:44:24 +01:00
Pieter de Bie 2bab86cf32 GitCommit: Fix patch generation
This was broken when converting to libgit2's sha's.
We need to use the stringSha, rather than the raw object.
2008-11-26 17:44:24 +01:00
Pieter de Bie 777f70f24f Remove leftover comment 2008-11-25 18:12:26 +01:00
Pieter de Bie ea30f2bfce JS: Remove stray log 2008-11-25 17:43:11 +01:00
Pieter de Bie 7e2707d979 DiffHilighter: Specific the div in which to hilight
Previously, the diff hilighter was a bit odd in that it would
just search for elements with a diff and highlight those. While
useful in theory, this wasn't used at all. We change it to
receive the diff to hilight, which makes the code somewhat simpler.
2008-11-25 17:43:11 +01:00
Stephen Bannasch f05d0188fc add commit file links and ctrl-arrow navigation
A list of files included in a commit are listed below the
commit message. The list are links which will take you to
that file in the diff display below.

The title of each fileHeader is now just the path to the file
instead of the full diff command.

While the focus is in the commit ctrl-down_arrow and up_arrow
will navigate to to next and previous file in that commit.
2008-11-25 17:43:11 +01:00
Pieter de Bie 4e915cc68f Remove "extern C" declaration when importing libgit2
libgit2 takes care of thiss now, so we don't have to.
2008-11-25 17:43:11 +01:00
Pieter de Bie bda90606f2 PBGitLane: remove functions with NSString arguments
We don't use these, so let's keep the class clean
2008-11-25 17:43:11 +01:00
Pieter de Bie b4c2a4f3fa GitGrapher: free pointers on dealloc
This frees the std vector and its contents on
dealloc. We also fresh up the header a bit
2008-11-25 17:43:10 +01:00
Pieter de Bie 18954b4a30 Site: Add download button photoshop file 2008-11-24 23:01:41 +01:00
Pieter de Bie e0dcdf62b3 PBGitGrapher: Use std::list rather than vector
This allows us to remove the currentlane if
necessary, fixing a drawing bug
2008-11-24 22:54:05 +01:00
Pieter de Bie eb472e0c86 PBGraphCellInfo: remove unneeded data member
And clean up the file while we're at it
2008-11-24 22:54:05 +01:00
Pieter de Bie 483cbc9de3 GitCommit: store the date as a timestamp
This should speed up commit loading, as we don't
need the date of all commits
2008-11-24 22:54:05 +01:00
Pieter de Bie 8372aee404 PBGitCommit: Use git_oids for parent shas
This uses a normal c array to store parent sha's. That means that we
save a lot of room, as they are only 20 bytes rather than 40 + the cost of
an NSArray and the NSStrings.
2008-11-24 22:54:04 +01:00
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 6aa28941e1 GitGrapher: Remove unneedded loop
I'm not sure what this loop originally did, but it was buggy and doesn't
seem logical. Removing it speeds up the graphing a lot, so let's kill it.
We can always get it back later if necessary
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
Pieter de Bie bb5696c704 GitGrapher: Limit the maximum number of lanes
This limits the maximum number of lanes to 32, making the
graphing a lot faster. For example, linux-2.6.git takes only
30 seconds now, rather than >400
2008-11-24 21:55:38 +01:00
Kim Does 86ec95f6d6 HistoryView: Add a tooltip for 'Create Branch' button 2008-11-20 15:13:48 +01:00
Kim Does ac0327249d Add icons for the history view and commit view 2008-11-20 15:09:55 +01:00
Pieter de Bie 807eb57280 Increase font size of donate link
This was a bit small in Firefox, but OK in Safari
2008-11-20 02:04:14 +01:00
Pieter de Bie 7cf4a103a8 CommitView: Add an "Open Files" context menu action 2008-11-19 15:12:32 +01:00
Pieter de Bie e76d483180 CommitView: Allow drag and drop to external applications
This allows you to drag a changed file to for example XCode,
so you can edit it.
2008-11-19 15:06:13 +01:00
Pieter de Bie b0caa349ae Revert "Wait for a child to clear it out."
This reverts commit 3922b543ba.

This caused weird drawing glitches when reloading the revision list
2008-11-19 14:54:30 +01:00
Pieter de Bie eb89811264 RevList: Run git in the correct directory
This was a bug introduced when switching to tasks rather than
file handles
2008-11-19 02:31:48 +01:00
Pieter de Bie 32e30ad351 HistoryView: Always show the correct current branch 2008-11-19 02:21:13 +01:00
Pieter de Bie edf4822e34 CLI: Show history view if necessary 2008-11-19 02:21:02 +01:00
Pieter de Bie b2c03bc97b HistoryView: Correctly update branches when changing them
I stupidly used "observe.." instead of register.. so KVC
didn't even work
2008-11-19 02:12:03 +01:00
Pieter de Bie 6038c20d7d HistoryView: Add a "Local Branches" option 2008-11-19 02:10:21 +01:00
Pieter de Bie a62e14ffe7 HistoryView: Remove the BranchController
This wasn't used anyway. A good idea would be to create a new
branchcontroller that takes care of all these revs, rather than
letting PBGitRepository take care of that
2008-11-19 01:54:14 +01:00
Pieter de Bie 92437c6663 WIP: Use a nicer branches menu 2008-11-19 01:41:27 +01:00
Pieter de Bie 66f3588b77 Merge branch 'master' of git://github.com/bkerley/gitx
* 'master' of git://github.com/bkerley/gitx:
  Use a task (that is properly disposed of) for reading the rev list
  make taskForCommand public so other classes can use it
  Wait for a child to clear it out.
  use outputForCommand instead of handleForCommand to save code, remove zombie-leaking bug
2008-11-19 00:14:10 +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 6fcc12d69d CommitView: Allow drag 'n drop of staged / unstaged files 2008-11-18 23:59:25 +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
Pieter de Bie 874737fcb5 CommitView: Allow multiple selection 2008-11-18 23:59:25 +01:00
Pieter de Bie aaca7d6e67 HistoryView: Don't make the tree contents field editable
This would cause some heavy errors because the PBGitTree
class in not KVC compatible for the contents.
2008-11-18 23:59:25 +01:00
Bryce Kerley 8f2cc570f5 Use a task (that is properly disposed of) for reading the rev list 2008-11-17 16:07:30 -05:00
Bryce Kerley 146db09ea4 make taskForCommand public so other classes can use it 2008-11-17 16:07:30 -05:00