POST-REVIEW(1)

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',
                },
                'username@cvs.example.com:/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 <tzafrir.cohen@xorcom.com>.

SEE ALSO