===========================
RBTools 0.3.3 Release Notes
===========================


**Release date**: August 16, 2011


Notable Changes
===============

* Rewrote the Clear Case implementation to be cleaner, more maintainable, and
  less buggy. This work was done by Jan Koprowski. The details of this
  are listed in the sections below.


New Features
============

post-review
-----------

* Added ``--http-username`` and ``--http-password`` for providing defaults for
  Basic HTTP Authentication. Patch by Mike Stoddart.  (:bug:`1514`)


Clear Case
----------

* Added proper support for ``--tracking-branch`` and ``--revision-range``.
  (:bug:`1588`)

* Clear Case configuration has moved to :file:`.reviewboardrc`. (:bug:`1516`)


Git
---

* Added automatic parent diff determination when using ``--revision-range``.

  Using a revision range where the first revision wasn't upstream would
  require the use of ``--parent``. Now the proper parent is calculated
  automatically. Patch by David Gardner.

* Added support for working against bare repositories when using
  ``--revision-range``. Patch by Jan Koprowski.

* Enhanced ``--revision-range`` to take any valid Git revisions.

  Any revision that ``git rev-parse`` understands can be used. Patch by
  Jan Koprowski.

* Support ``--repository-url`` for overriding the git origin URL.
  Patch by Vikram Oberoi.


Mercurial
---------

* Added support for ``--guess-summary`` and ``--guess-description``. Patch by
  Daniel Cestari.

* Allow a single revision to be passed to ``--revision-range``.
  Patch by Peter Ward.


Subversion
----------

* Added support for ``--svn-changelist`` for specifying SVN changelists. Patch
  by Joe Drago.


Bug Fixes
=========

post-review
-----------

* Fixed authentication problems with some versions of Review Board.
  Patch by Holden Karau.


Clear Case
----------

* The view is properly recognized. (:bug:`1727`)

* Removed the dependency on xargs and cygwin.

* Fixed breakages with binary files.

* Removed support for ``--label``, which was useless.

* Running just :command:`post-review` will now produce a working diff of checked out
  files.

* Diffs generate properly now under Windows. (:bug:`1926`)

* The diffs no longer hard-code a fake date, but instead use the real
  time/date of the file. (:bug:`1930`)

* Files that were renamed no longer breaks the diff. OID/UUIDs are used
  instead of file paths. (:bug:`1931`)

* Fixed diff generation to use the :command:`diff` program instead of
  hand-crafting the diffs. (:bug:`1553`, :bug:`1644`)

* Running with ``--revision-range`` with paths that don't exist no
  longer produces unreadable IOException errors. (:bug:`1599`)


Git
---

* Use real URLs when using git prefixes.

  Aliases for URLs in :file:`.gitconfig` (using the ``insteadOf`` directive)
  would prevent post-review from working. post-review now figures out the
  correct URL to use instead. Patch by Ian Monroe.

* Fixed compatibility with versions of Git older than 1.6.

* Added compatibility with msysgit. Patch by Joshua Kwan. (:bug:`1917`)

* The correct SVN remote tracking branch is now used for git-svn repositories.

  It shouldn't be necessary anymore to use ``--parent`` in typical cases.
  Patch by Steven Ihde.


Mercurial
---------

* Fixed an error when posting inside a Mercurial branch.

  The assumption was that all revisions were consecutive, but this isn't
  necessarily the case, especially when dealing with branches. Now the
  parent revision will be fetched in order to properly calculate the
  range. Patch by Daniel Cestari.


Perforce
--------

* Fixed Review Board version detection when checking for Perforce
  changeset support. This forced usage of the old API, preventing the
  new API from being used, which prevented usage with Review Board 1.6.


Subversion
----------

* Lines starting with ``---`` and ``+++`` in diffs that aren't diff
  control lines no longer results in broken diffs.

  We were treating all ``---`` and ``+++`` lines (which can happen, for
  example, when deleting a comment in an SQL file) as diff control lines
  specifying the filenames. This would cause us to fail to parse. post-review
  is now far more careful about this.

  Patch by Josh Hamacher.


Contributors
============

* Christian Hammond
* Chris Clark
* Daniel Cestari
* David Gardner
* David Trowbridge
* Holden Karau
* Ian Monroe
* Jan Koprowski
* Joe Drago
* Joshua Kwan
* Josh Hamacher
* Mike Stoddart
* Peter Ward
* Steven Ihde
* Vikram Oberoi
