Commits on Jun 9, 2010
  1. Use the revision reported by "git svn info" as merge_base

    Steven Walter swalter
    Steven Walter authored and swalter committed Jun 9, 2010
    Using merge-base is an improvement from hard-coded "master," but still
    requires hueristics when determining the upstream_branch.  There's no
    need for this, as "git svn info" will always report the value we're
    interested in.
Commits on May 21, 2010
  1. Import the json module only if it's the one we're expecting.

    chipx86 committed May 21, 2010
    There's a json module out there named "json", which is the same name as
    the one bundled with Python 2.6, but it doesn't have the "loads" method we
    need. We now import specifically that function from the module, falling back
    on simplejson if it's missing.
Commits on May 6, 2010
  1. Support --revision-range on ClearCase.

    chipx86 committed May 6, 2010
    This introduces support for --revision-range on ClearCase. The old code
    in diff_between_revisions was copy/pasted from SVNClient and wasn't really
    usable. This just implements the correct logic for passing the right arguments
    for diff generation.
    Fixes bug #1588
    Patch by Jan Koprowski
    Reviewed at
  2. Don't hard-code VIEWTYPE: informatoin to descriptions in ClearCase.

    chipx86 committed May 6, 2010
    We had some code that added VIEWTYPE: information (which appears to have
    been debug information) to the review request description when using custom
    descriptions on the command line with ClearCase. This change removes that.
    Fixes bug #1610
    Patch by Jan Koprowski
    Reviewed at
Commits on Apr 19, 2010
  1. Bump to 0.2.1 dev.

    chipx86 committed Apr 19, 2010
  2. Release RBTools v0.2.

    chipx86 committed Apr 19, 2010
Commits on Mar 29, 2010
  1. Added some useful error information for empty diffs and invalid repos…

    chipx86 committed Mar 28, 2010
    Our errors to date in RBTools have been less than useful. This change provides
    more detailed errors for two common cases: Empty diffs, and invalid
    The new text makes it more clear what went wrong, and offers options for
    fixing or investigating the problem.
    Reviewed at
  2. Check for GNU diff when needed.

    chipx86 committed Mar 28, 2010
    Another common problem in RBTools is that people try to use Subversion
    without having GNU diff installed. We require GNU diff to work around some
    bugs in Subversion's differ.
    Now, when we've determined we have a Subversion repository, we perform a check
    for GNU diff. If it's not installed, we error out with an explanation. If
    running on Windows, we also link to the download page for a standalone
    GNU diff.
    Fixes bug #769
    Reviewed at
Commits on Mar 10, 2010
  1. Revert the change to encode the uploaded content as UTF-8.

    chipx86 committed Mar 10, 2010
    The change made to RC1 for fixing diff uploading in some cases actually
    broke things. The content length was no longer correct, if we even could
    encode to UTF-8. We now upload the raw bytes once again.
  2. Prevent a failure when there's an error reading a diff.

    chipx86 committed Mar 10, 2010
    If reading a diff failed and we received a one-line error message,
    post-review would crash. It assumed a second line always existed. Now
    we properly abort with debug information.
    Patch by Laurent Nicolas.
    Reviewed at
Commits on Feb 25, 2010
  1. Protect against an uninitialized variable.

    chipx86 committed Feb 25, 2010
    The new flexible HTTP error handling code had an uninitialized variable. This
    checks for it and makes sure not to break.
    Patch by Laurent Nicolas.
    Reviewed at
  2. Fix two issues when using post-review with Subversion.

    chipx86 committed Feb 25, 2010
    First, using --revision-range with 0 wouldn't work, as the path given
    wouldn't have existed in revision 0. The repository path is now assumed
    if using revision 0, in order to get a diff of all the files.
    Second, sometimes an svn diff would have excess tabs in the diff file headers,
    which we wouldn't catch correctly. We now make sure to only split the headers
    into two groups, regardless of the number of tabs.
    Patch by Nathan Heijermans.
    Reviewed at
Commits on Feb 22, 2010
  1. Fix the default changeset support with more recent versions of P4.

    chipx86 committed Feb 21, 2010
    The new default changeset support was failing to set a default changeset
    description on newer versions of P4, which we would later need to parse
    in order to get the file listing. We now go through the same code path we went
    through with older versions of P4 in order to generate a default description
    in order to get those generated files.
    Patch by Laurent Nicolas.
    Reviewed at
Commits on Feb 21, 2010
  1. Fix a crash when using ClearCase.

    chipx86 committed Feb 21, 2010
    The ClearCase code was calling a command and expecting the result split
    across two variables, but didn't pass split_lines=True. Now it does!
    Patch by Bryan Halter
    Fixes bug #1423
Commits on Feb 14, 2010
  1. Bump to 0.2 RC 2.

    chipx86 committed Feb 14, 2010
  2. Release RBTools v0.2 RC 1.

    chipx86 committed Feb 14, 2010
  3. Filter out usernames from Mercurial repository paths in .hgrc

    chipx86 committed Feb 14, 2010
    We filtered out the username from a path when running 'hg svn info', but
    not when reading from .hgrc. We now apply the same filtering logic. This
    allows post-review to match a repository path with a username in it against
    a repository path on a Review Board server.
    Patch by Tom Saeger.
    Reviewed at
Commits on Feb 12, 2010
  1. Add support for --diff-filename when using --repository-url.

    chipx86 committed Feb 12, 2010
    This change allows --diff-filename to be used with --repository-url. This
    can be used to submit a diff outside of a working checkout.
    Patch by Luke Robison.
    Reviewed at
  2. Add a missing COPYING file.

    chipx86 committed Feb 12, 2010
    Patch by Stephen Gallagher.
    Reviewed at
Commits on Feb 6, 2010
  1. Do not run git remote show just because of remote URL.

    davidt committed Feb 6, 2010
    Patch from Petr Novák. Current post-review's GitClient calls "git remote show"
    to determine URL of upstream repository and parses its output. This patch
    replaces this with fetching the URL from local configuration, which spares a few
    moments of time since "git remote show" has to communicate with the remote in
    order to determine list of remote branches (which is subsequently discarded by
    the script).
    Testing done:
    Tested locally, seems to work fine. (I used it to submit this review request).
    Reviewed at
  2. post-review: correctly handle diff uploads, which contains non-ASCII …

    davidt committed Feb 6, 2010
    Patch from Thilo-Alexander Ginkel. Previous post-review versions did not
    correctly generate the Content-Length header sent along with the
    api/json/reviewrequests/<id>/diff/new/ request as the header's value was
    calculated based upon the length of the request body in characters instead of
    bytes. This patch should fix that issue by using the UTF-8 encoding of the
    body for the length calculation.
    Reviewed at
  3. Merge commit 'origin/master'

    davidt committed Feb 6, 2010
  4. Fixes associated to Issue 1345

    davidt committed Feb 6, 2010
    Patch from Laurent Nicolas. post-review does not process a *pending* Perforce
    changeset in v0.2 beta3 (Note that it is a regression from v0.2 beta2).
    Also 2 changes that are not strictly related:
    1) allow *pending* to be on the second line in addition to the first line
    2) append the list of bugs to existing list if it exists already rather than
    overwritting it.
    Note the "view diffs" view does not show a white space change on line 1586.  I
    fixed the indentation, otherwise the for loop was ending after the first line.
    Testing done:
    Tested post-review against our perforce repository, using two *pending*
    changeset. Tried combination of with and without -r to find existing review
    based on changeset number or review id.  Added bug list to check append feature.
    Checked for different values of --bugs-closed.  After each invocation, checked
    the GUI for a correct list, and then submitted the review before the next try:
    1) No option
    Bugs: empty
    2) --bugs-closed=123
    Bugs: 123
    3) --bugs-closed=456
    Bugs: 123, 456
    4) --bugs-closed=456 (repeat)
    Bugs: 123, 456
    5) --bugs-closed=12
    Bugs: 12, 123, 456
    6) --bugs-closed=1234
    Bugs: 12, 123, 456, 1234
    7) --bugs-closed="1234, 12345, 1,"
    Bugs: 1, 12, 123, 456, 1234, 12345
    8) --bugs-closed="1,,   234, 12345, 1, ,,"
    Bugs: 1, 123, 234, 456, 1234, 12345
    10) --bugs-closed="  ,,   ,,1,,   234, 12345, 1, ,, , , ,,,,   ,,,,,"
    Bugs: 1, 12, 123, 234, 456, 1234, 12345
    Checked the database: Bugs field: 1234,12,456,1,123,234,12345
    Fixes bug 1345
  5. Be more flexible with HTTP response codes.

    chipx86 committed Jan 30, 2010
    post-review's HTTP GET/POST code always assumed that any Review Board API
    error code would be in an HTTP 200, and that anything else was an unknown
    failure. It's now more flexible and understands that any HTTP status code
    could have a JSON payload in it, and processes them accordingly.
    This introduces some new unit tests for testing the error parsing code
    Reviewed at
Commits on Jan 31, 2010
  1. Add support for --diff-filename=-

    chipx86 committed Jan 31, 2010
    This adds support for passing diff content on STDIN when using
    --diff-filename=-. When specified, any input that is required (such as
    authentication information) will terminate and inform the user they must pass
    the appropriate information on the command line.
  2. Add a --diff-filename parameter to post-review.

    chipx86 committed Jan 31, 2010
    This new parameter allows the caller to override the diff being uploaded to
    the Review Board server. This diff will be used instead of generating a diff
    Patch by Chris Clark
    Reviewed at
Commits on Jan 30, 2010
  1. Fix a bug with parsing merge branch names.

    chipx86 committed Jan 30, 2010
    We were using lstrip to remove the prefix 'refs/heads/', but that strips
    all characters in the string, not the string itself. We now properly strip
    this prefix.
    Patch by Dan Savilonis
    Reviewed at
Commits on Jan 12, 2010
  1. Fix an assumption that Git master represents SVN trunk.

    chipx86 committed Jan 12, 2010
    post-review makes an assumption that the 'master' branch in a Git repository
    represents SVN's 'trunk' when using git-svn. Now it uses the calculated
    parent branch, which may be 'master' or may be some other branch, depending
    on the repository setup.
    Patch by Mike Crute
    Reviewed at
  2. Provide --guess-description and --guess-summary for Mercurial revisio…

    chipx86 committed Jan 12, 2010
    …n ranges.
    This implements support for --guess-description and --guess-summary with
    revision ranges in Mercurial. The commit messages are concatenated to form
    the description, and the first line of the first commit message forms the
    Patch by Stefan Ring
    Reviewed at
Commits on Jan 5, 2010
  1. Fix --guess-description with Git.

    chipx86 committed Jan 5, 2010
    A recent change to post-review broke --guess-description with Git when not
    specifically using a parent branch. We now default to grabbing all logs from
    the merge base (for example, "master") and using that as the description. This
    covers the same range as the diff itself.
Commits on Dec 22, 2009
  1. Support the new move/add and move/delete operations in Perforce.

    chipx86 committed Dec 22, 2009
    New versions of Perforce provide more explicit information when moving
    files. There are two new types: move/add and move/delete. These more or
    less map (for our purposes) to just add and delete. We should now handle
    Fixes bug #1417
Commits on Dec 20, 2009
  1. Support server aliases for Perforce.

    chipx86 committed Dec 20, 2009
    Some Perforce setups have DNS aliases for a Perforce server. We currently
    fetch the server aliases, but weren't doing anything with them. Now we support
    scanning a list of aliases against the known list of repositories on Review
    Board in order to find the right repository URL to use. This happens
    automatically without any additional configuration.
    Patch by Ravi Kondamuru
    Reviewed at
Commits on Dec 7, 2009
  1. Fix an invalid class name.

    chipx86 committed Dec 7, 2009
    A recent patch introduced a refernece to HttpDigestAuthHandler, but this
    should have been HTTPDigestAuthHandler.
    Patch by Jason Felice
    Reviewed at