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.
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.
This controller makes sure that only the current view
receives its notifications. Therefore we won't do any work that we don't
see, like parsing diffs or asking for trees. This makes everything quicker.
The diff display is rather slow now, probably because everything is
put into one big pre tag. Before we can fix this, we have to parse the
diff better. For now, just display a message.
This includes the prototype library in the bundle for convenience.
Whenever a new commit is selected, a new Commit object is created that
is going to parse the raw message. From the object we can select
author information, diffs, etc.
Currently there is still a bug with commits without content changes.