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.
This merges functionality that was previously stored in the
combination of PBGitCommitController / PBChangedFile to a
dedicated controller, PBGitIndexController.
This adds a div in the webview to display the current commit
state. It allows us to notify the user of new commits by
showing something in the webview, rather than a modal
dialog.
This should make the GUI more responsive by allowing the diff
to be read in the background. This assumes that
[PBGitCommit details] is threadsafe, so we should keep it that
way.
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).
After removing the prototype code, the Gistie XMLHTTPRequest would send
the complete request in the URI, which was often too lang and cause a
failure.
This only sends the request in the body, and also adds additional
diagnostics.
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
The following things have changed:
* Moved the gravatar icon to the right
* Do not load default image for gravatar to speed up loading of history view
* Changed the notifier
** New spinner
** New location
** Colour coded for success / failure
* Fonts changed
* New button replacing "paste" --> "Gistie it"
This improves the diff performance by a factor of around 10. Things done
to do this are, among others:
* user String.replace(//g) instead of String.gsub(). It's
*much* faster
* Don't use anonymous inner functions for iteration, but instead
use for loops
* Don't use String.startsWith() if we can just compare a
single character
Because we are now so much faster, we can also show bigger diffs
by default.