post-review(1) post/update reviews to Review Board

SYNOPSIS

post-review [-pond] [-r review_id] [changenum]

OPTIONS

Review Request Options

-p, --publish publish the review request immediately after submitting
-r ID, --review-request-id=ID
existing review request ID to update
--revision-range=REVISION_RANGE
generate the diff for review based on given revision range

Server Options

--server=SERVER specify a different Review Board server to use
--submit-as=USERNAME
user name to be recorded as the author of the review request, instead of the logged in user
--username=USERNAME
user name to be supplied to the reviewboard server
--password=PASSWORD
password to be supplied to the reviewboard server

Basic Options

--version show program's version number and exit
-h, --help
show this help message and exit
-o, --open
open a web browser to the review request page
-n, --output-diff
outputs a diff to the console and exits. Does not post

Field Defaults Options

--target-groups=TARGET_GROUPS names of the groups who will perform the review
--target-people=TARGET_PEOPLE
names of the people who will perform the review
--summary=SUMMARY
summary of the review
--description=DESCRIPTION
description of the review
--description-file=DESCRIPTION_FILE
text file containing a description of the review
--testing-done=TESTING_DONE
details of testing done
--testing-done-file=TESTING_FILE
text file containing details of testing done
--branch=BRANCH
affected branch
--bugs-closed=BUGS_CLOSED
list of bugs closed
--change-only
updates info from changelist, but does not upload a new diff (only available if your repository supports changesets)
--tracking-branch=TRACKING
Tracking branch from which your branch is derived (git only, defaults to origin/master)
--p4-client=P4_CLIENT
the Perforce client name that the review is in
--p4-port=P4_PORT
the Perforce servers IP address that the review is on
-d, --debug
display debug output
--diff-filename=DIFF_FILENAME
upload an existing diff file, instead of generating a new diff

Git Options

--guess-summary guess summary from the latest commit (git/hgsubversion only)
--guess-description
guess description based on commits on this branch (git/hgsubversion only)

Git and Mercurial Options

--parent=PARENT_BRANCH the parent branch this diff should be against (only available if your repository supports parent diffs)

Subversion Options

--repository-url=REPOSITORY_URL the url for a repository for creating a diff outside of a working copy (currently only supported by Subversion). Requires either --revision-rangeor --diff-filename options

Perforce Options

--diff-only uploads a new diff, but does not update info from changelist

ClearCase Options

--label=LABEL Specifies the label used for ClearCase.

DESCRIPTION

post-review is intended to post a review from a local repository to the Review Board server, or update such an existing review. It works differently with different version-control systems. For CVS and Subversion, the review to post is the uncommited change in a working copy. With distributed VC systems (currently Git and Mercurial are supported), the review is a topic branch. Posting it is, technically, pushing it to the repository at the Review Board server.

PerForce and ClearCase also seem to be supported but the author of this page fails to understand the details. Refer to undocumented(7) for more information on using them with this program.

[A more detaild description can help]

CONFIGURATION

post-review needs to be told of the address of the server to post to. This can come from several possible places:

GIT property reviewboard.url

For example, the following command will set a repository-specific property:

git config --add reviewboard.url http://reviewboard.example.com

Refer to git-config(1) for the full details.

Subversion Property reviewboard:url

The subversion property reviewboard:url may be set on the top-level directory.

svn propset reviewboard:url http://reviewboard.example.com .

Perforce Counters

Rumour has it they exist and can even help in the configuration here.

.reviewboardrc

$HOME/.reviewboardrc

The file .reviewboardrc can exist in either the top-level directory of the project or under the user's top-level directory. This file uses python syntax for assignments. It has two optionalmethods of defining the repository URL:

REVIEWBOARD_URL

A simple variable pointing to the server:

REVIEWBOARD_URL = "http://reviewboard.example.com"

TREES

A directionary of subversion repositories to REVIEWBOARD_URL-s:

TREES = {
    'http://svn.example.com': {
        'REVIEWBOARD_URL': 'http://rb.example.com',
    },
    '[email protected]:/cvsroot/cvs': {
        'REVIEWBOARD_URL': 'http://rb.example.com',
    }, }

EXAMPLES

post a new review from a working subversion copy:

post-review

This generates a new draft review. Refer to the "Field Defaults" options above to set non-empty values to some fields in the review. Alternatively set them later through the web interface.

Update that review, assuming its review number is 17:


  post-review -r 17

To post a review from a your GIT feature branch:

git checkout -b new-feature main-branch emacs -f butterfly '.......' # or ed git commit post-review

[That said, I can't really follow the documentation as to how post-review works on git/hg: how does it post the last diff only?]

This does not create a new diff. Rather, it updates the existing one. In the following two examples, the review was not published.

AUTHOR

post-review was written by Christian Hammond and David Trowbridge.

This man page was written by Tzafrir Cohen <[email protected]>.