Reference

post-review(1)

post/update reviews to Review Board

NAME

post-review - 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]>.

SEE ALSO