Update autocomplete to be compatible with newer jquery-UI versions.

This updates our autocomplete widget to not collide with the
autocomplete bundled with modern jquery-UI versions, and to work better
with how widgets now work.

This has not been tested in a while and may break with the latest
versions. It's intended as a start.
Release Review Board 1.6.13.
Bump to 1.6.14 dev.
Fix the diff viewer to handle very large files.

Previously, very large files (10,000+ lines) would greatly slow down
Review Board and take forever to render. This slowdown was entirely in
the rendering step, rather than being in the diffing or patching steps.

The reason for the slowdown is that we executed a fragment of a Django
template (consisting of variable resolution, template tags, and filters)
per line of the diff.

This, it turns out, is very slow. Variable lookups (and possible
escaping) is slow. Template tag and filter execution is slow. Copying of
contexts is slow. To make matters worse, the context we supply for diffs
contains data that can be quite large (chunk, file of chunks, etc.),
which ends up getting copied a bunch for different tags. While we may
want to audit this for other templates, fixing it for the diff lines
is still slow due to how templates are processed.

So what we're now doing is defining printf-style templates for the lines
(and conditional parts of lines), processing some data in code, and then
piecing them together for output.

This creates a massive speedup. a 44,000 line change I tested with took
around a minute to render before, bringing the server to its knees at
the same time. Now, the total render time for the page (including all
the rest of the diff viewer page) is now only a few seconds.
Merge branch 'release-1.6.x'
Fix overflowed nicknames and emails on user page.

Long nicknames and emails overflowed outside the left-navigation box on the user
page. This css fix forces long nicknames and emails to break into the next line.

Tested in Chrome. Should work with most browsers except opera.
See: http://www.w3schools.com/cssref/css3_pr_word-break.asp

Reviewed at http://reviews.reviewboard.org/r/3397/
Document how to raise the MySQL packet size.

Very large diffs can cause errors with the mysql packet size. One request we've
gotten is to include documentation on how to fix this. This change does that,
but includes some pretty stern warnings that it's not a good idea in general.

This is based on Jesus Zambrano's change at
http://reviews.reviewboard.org/r/3364/
Update instructions to use 'git pull' instead of 'git pull origin master.'

This is simpler and helps ensure proper use, assuming master is a
tracking branch. It'll also make it more clear that something is wrong
if it's not.
Move to jQuery-UI 1.8.24.

This updates Review Board to use jQuery-UI 1.8.24, which fixes a number
of issues in the UI that we had with 1.6rc5.
Merge branch 'js/rbautocomplete-upgrade'
Set some defaults for post-review for release-1.6.x.

This fills in the BRANCH and TRACKING_BRANCH defaults for post-review,
which will help when posting changes from this branch.
Merge branch 'release-1.6.x'
Set the BRANCH default to master for post-review.

When posting a review request using post-review from master, the default
branch will now be "master".
Make cookies configurable.

This simple change provides ability to change cookie parameters like age, name.

Tested on internal server. Two instances of RB 1.7beta2 have been deployed
thanks to virtualenv on same hw:
 * first is production environment located at "reviewboard.mycompany.com"
 * second is test environment located at "reviewboard.mycompany.com:8001"

Reviewed at http://reviews.reviewboard.org/r/3391/
Rewrite our screenshot review UI and introduce generic review infrastructure.

The screenshot review support has been rewritten to have a nice
model/view separation and to abstract much of the review process into
generic models and views.

There's now a few new classes: AbstractCommentBlock, AbstractCommentBlockView,
AbstractReviewable, and AbstractReviewableView. These handle the basics
of creating review UIs and comment blocks.

The screenshot subclasses, as a result, are fairly minimal for the most
part.

From here on out, it should be easier to create review UIs for custom
mimetypes. This will get even easier as more of our review
infrastructure is moved to new Backbone models and views.
Fix a quoting issue in .reviewboardrc.

A double quote was mistakingly changed to a single quote.
Merge branch 'release-1.6.x'
Display the "Add Comment" link after canceling an editor.

The "Add Comment" link was only being reshown after submitting a change.
If canceling, the link wasn't being shown again. We now force it to fade
in when canceling.

Fixes bug #2696

Reviewed at http://reviews.reviewboard.org/r/3415/
Fix version parsing for Mercurial.

Our version parsing was relying upon integers only in the version, and
had a probably incorrect hack for handling "+" in the version number.

Since Mercurial is a Python package following Python versioning rules,
we should be using parse_version comparisons. This is a lot less
fragile, and works with their new 1.4-rc release they just put out
(which completely breaks Review Board today).

This will be needed for an upcoming release soon.
Introduce the beginnings of an ssh app.

This introduces an ssh app, which factors out and structures the SSH
utility functions originally found in scmtools/sshutils.py.

The new ssh app contains an SSHClient object, which represents a session
tied either to a base .ssh directory, or a namespaced directory within.
Down the road, we may want to take further advantage of the namespacing,
such as for repository access. Right now, we deifne a namespace as a
'/'-separated path.

Most of the original utility functions in sshutils now live within
SSHClient. Instead of each of those taking a local_site_name parameter,
this is now passed only when defining the SSHClient, as the namespace.

Multiple clients can exist at a time.

The various SSH-related errors have moved into ssh/errors.py, and have
been decoupled from SCMError. This is clean in all cases except
AuthenticationError. Both apps have a concept of an AuthenticationError,
with ssh's being a bit more specific.

What we're doing is keeping two versions. The SSH one is
SSHAuthenticationError, and contains all the original logic. The new one
is AuthenticationError, and basically has SSHAuthenticationError as a
mixin. The two call sites in scmtools that need to really deal with this
check for an SSHAuthenticationError and convert it into an
AuthenticationError. The purpose of this is to keep the ssh app
decoupled from SCMTools.