Jump to >

stamp

rbt stamp looks up a review request matching the latest commit on the active branch and, if found, alters the commit message to contain a Reviewed at <url> line.

The revisions argument behaves like it does in rbt post, where it is required for some SCMs (e.g. Perforce) and unnecessary/ignored for others (e.g. Git). For repositories that use it, the specified revision/changelist will be stamped, rather than the latest one.

Normally, this command will guess the review request (based on the revision number if provided, and the commit summary and description otherwise). However, if a review request ID is specified with -r, it stamps the URL of that review request instead of guessing.

Pointing to a matching review request in a commit message helps later on when trying to piece together the reason or discussions behind a change.

If the repository is configured with appropriate post-commit hooks, this line can inform the hook of the matching review request, allowing that hook to perform actions such as closing the review request.

A commit message can also be stamped from rbt post by adding the -s flag:

$ rbt post -s

Usage

$ rbt stamp [options] [revisions]

Options

-d, --debug

Displays debug output.

This information can be valuable when debugging problems running the command.

The default can be set in DEBUG in .reviewboardrc.

Stamp Options

Controls the behavior of a stamp, including what review request URL gets stamped.

-r <id>, --review-request-id <id>

Specifies the existing review request ID to be stamped.

Review Board Server Options

Options necessary to communicate and authenticate with a Review Board server.

--server <url>

Specifies the Review Board server to use.

The default can be set in REVIEWBOARD_URL in .reviewboardrc.

--username <username>

The user name to be supplied to the Review Board server.

The default can be set in USERNAME in .reviewboardrc.

--password <password>

The password to be supplied to the Review Board server.

The default can be set in PASSWORD in .reviewboardrc.

--ext-auth-cookies <ext auth cookies>

Use an external cookie store with pre-fetched authentication data. This is useful with servers that require extra web authentication to access Review Board, e.g. on single sign-on enabled sites.

The default can be set in EXT_AUTH_COOKIES in .reviewboardrc.

New in version 0.7.5.

--api-token <token>

The API token to use for authentication, instead of using a username and password.

The default can be set in API_TOKEN in .reviewboardrc.

New in version 0.7.

--disable-proxy

Prevents requests from going through a proxy server.

The default can be set in ENABLE_PROXY in .reviewboardrc.

--disable-ssl-verification

Disable SSL certificate verification. This is useful with servers that have self-signed certificates.

The default can be set in DISABLE_SSL_VERIFICATION in .reviewboardrc.

New in version 0.7.3.

Use an in-memory cookie store instead of writing them to a file. No credentials will be saved or loaded.

The default can be set in SAVE_COOKIES in .reviewboardrc.

New in version 0.7.3.

--disable-cache

Disable the HTTP cache completely. This will result in slower requests.

The default can be set in DISABLE_CACHE in .reviewboardrc.

New in version 0.7.3.

--disable-cache-storage

Disable storing the API cache on the filesystem, instead keeping it in memory temporarily.

The default can be set in IN_MEMORY_CACHE in .reviewboardrc.

New in version 0.7.3.

--cache-location <file>

The file to use for the API cache database.

The default can be set in CACHE_LOCATION in .reviewboardrc.

New in version 0.7.3.

Repository Options

--repository <name>

The name of the repository configured on Review Board that matches the local repository.

The default can be set in REPOSITORY in .reviewboardrc.

--repository-url <url>

The URL for a repository.

When generating diffs, this can be used for creating a diff outside of a working copy (currently only supported by Subversion with specific revisions or --diff-filename, and by ClearCase with relative paths outside the view).

For Git, this specifies the origin URL of the current repository, overriding the origin URL supplied by the client.

The default can be set in REPOSITORY_URL in .reviewboardrc.

Changed in version 0.6: Prior versions used the REPOSITORY setting in .reviewboardrc, and allowed a repository name to be passed to --repository-url. This is no longer supported in 0.6 and higher. You may need to update your configuration and scripts appropriately.

--repository-type <type>

The type of repository in the current directory. In most cases this should be detected automatically, but some directory structures containing multiple repositories require this option to select the proper type. The rbt list-repo-types command can be used to list the supported values.

The default can be set in REPOSITORY_TYPE in .reviewboardrc.

Diff Generation Options

Options for choosing what gets included in a diff, and how the diff is generated.

--revision-range <rev1:rev2>

Generates a diff for the given revision range.

Deprecated since version 0.6.

-I <filename>, --include <filename>

Includes only the specified file in the diff. This can be used multiple times to specify multiple files.

Supported by: Bazaar, CVS, Git, Mercurial, Perforce, and Subversion.

New in version 0.6.

-X <pattern>, --exclude <pattern>

Excludes all files that match the given pattern from the diff. This can be used multiple times to specify multiple patterns. UNIX glob syntax is used for pattern matching.

Supported by: Bazaar, CVS, Git, Mercurial, Perforce, and Subversion.

Patterns that begin with a path separator (/ on Mac OS and Linux, on Windows) will be treated as being relative to the root of the repository. All other patterns are treated as being relative to the current working directory.

For example, to exclude all “.txt” files from the resulting diff, you would use “-X /’*.txt’”.

When working with Mercurial, the patterns are provided directly to “hg” and are not limited to globs. For more information on advanced pattern syntax in Mercurial, run “hg help patterns”

When working with CVS all diffs are generated relative to the current working directory so patterns beginning with a path separator are treated as relative to the current working directory.

When working with Perforce, an exclude pattern beginning with // will be matched against depot paths; all other patterns will be matched against local paths.

The default can be set in EXCLUDE_PATTERNS in .reviewboardrc.

New in version 0.7.

--parent <branch>

The parent branch this diff should be generated against (Bazaar/Git/Mercurial only).

The default can be set in PARENT_BRANCH in .reviewboardrc.

--diff-filename <filename>

Uploads an existing diff file, instead of generating a new diff.

Branch Options

Options for selecting branches.

--tracking-branch <branch>

The remote tracking branch from which your local branch is derived (Git/Mercurial only).

For Git, the default is to use the remote branch that the local branch is tracking, if any, falling back on origin/master.

For Mercurial, the default is one of: reviewboard, origin, parent, or default.

The default can be set in TRACKING_BRANCH in .reviewboardrc.

Perforce Options

Perforce-specific options for selecting the Perforce client and communicating with the repository.

--p4-client <client name>

The Perforce client name for the repository.

The default can be set in P4_CLIENT in .reviewboardrc.

--p4-port <port>

The IP address for the Perforce server.

The default can be set in P4_PORT in .reviewboardrc.

--p4-passwd <password>

The Perforce password or ticket of the user in the P4USER environment variable.

The default can be set in P4_PASSWD in .reviewboardrc.