This uses more Cocoa classes to draw the lines, making it easier to
understand and hopefully maintain.
Furthermore, we use less memory now, which is nice, but all the
dynamic arrays probably mean more CPU usage.
* commit 'ciaran/grapher':
Grapher: add speed tests
Discard branches that run for too long
PBGitRevList: use --topo-order for better graphs
PBGitGrapher: Improve the grapher
First take on graphing
When there is no e-mail address available git-svn will substitute the loginname@svn-repository-ID, but this is confusing and useless to have linked/display.
Instead of creating a file with a random prefix, create a file with the same name in a temporary directory name. This way the quicklook window shows the correct filename.
* commit 'ciaran/cli':
Adding a menu item to install the CLI tool.
The repository is owned by the window controller now, and PBWebGitController shouldn't need to use the ApplicationController
The ApplicationController does not own a repository any more
Amend the CLI tool to use the distributed objects system to try opening the current path when invoked.
Overriding -documentForURL: to use +gitDirForURL: to convert incoming URLs to the .git dir before checking for an open document, so that open a repository from subdirectories won’t open duplicate windows.
Separating out the logic for finding the .git dir for a given path in a repository, so it can be used in other places.
Adding a basic command-line tool to interface with the application through distributed objects.
Multiple repositories can now be opened by using the File → Open… menu option.
Each document is a PBGitRepository with a PBDetailController controlling the window. PBRepositoryDocumentController is the document controller.
When launched, the application will attempt to open a repository with the current directory as its path. If this fails it will display an open panel to allow the user to select one.
PBDetailController is the window controller, and now takes ownership of the repository so we can bind to it through File’s Owner in the nib file. Currently the ApplicationController creates a new PBDetailController at startup with the opened repository.
Added Rakefile that does install and uninstall.
Also providded are sub-tasks that do things like build GitX, copy it to
~/Applications/ or /Applications/, cleaning the build and removing GitX.app
Signed-off-by: Pieter de Bie <pdebie@ai.rug.nl>
This creates a new directory speed_test with different
implementations that we can use to power the grapher. The current
implementation is somewhat lacking in that we build up the graph
completely at the end. If we can do it while traversing the tree, we
can build and display it earlier. Similarly, if we can leave out the
line calculation but just work with the columns, we save computation at
load time, and can defer the lines to the drawing process. That will
also clear up the problem of not being able to draw some lines.