This would be a very nice addition to GitX, however there are some problems with NSURLProtocols and the Garbage Collector. Until that is fixed (and that should be done by Apple), it's not safe to use this, so we just stash it away :(
Seems like File.copy doesn't do directories (as source, that is), only files (as far as I can tell from reading the docs and trying it in irb, punch me if I'm wrong). It only creates a zero byte file in the target directory on my system. Replaced File.copy with a system call to 'cp -R ...' to do the job. Seems like FileUtils could have done it just as well (with cp_r), but I figured making a system call was better than introducing a new dependency.
This is the start of a callback system we can use to make the diff more interactive
This was also broken with the libgit2 move
This wraps each changed file in its own rounded box, making the diff display easier to the eye :)
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.
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.
libgit2 takes care of thiss now, so we don't have to.
We don't use these, so let's keep the class clean
This reduces GitX's memory usage and makes some operations much faster, like graphing, by having a cheaper comparison