[Crucible Knowledge Base]
Crucible supports iterative (cumulative, or incremental) reviews for both post-commit and pre-commit reviews. This allows you to update the review with new versions of files, and changesets (for post-commit reviews) or patches (for pre-commit reviews) that have been created after the review was started.
Iterative reviews allow your team to discuss changing code in the context of a single review. This lets the reviewers see all the related changes together, and to more easily keep track of comments and defects.
On this page:
To set up an iterative post-commit review, you create a review, and add content to it, in the usual way. Crucible automatically recognises when files under review have been updated in the repository, and provides the option to add the revision to the review.
See Viewing diffs below for information about the slider and diffs.
Pre-commit reviews make use of patch files that are uploaded to a review. Crucible allows revisions of patch files to be uploaded to the review, and can display diffs for files in the patches. This allows your team to set up and perform iterative pre-commit reviews.
When uploading the initial patch for a review, Crucible must be able to anchor the patch to a repository if you subsequently want to upload patch iterations. If Crucible is unable to anchor the patch to a repository, you will only be able to upload the patches as separate files.
You upload the initial patch for a review in the usual way – see Adding content to the review.
When you add a new iteration of the patch to the review, you can choose which previously uploaded patch it is a revision of. The new patch must be anchored to the same repository as an existing patch.
Note that you cannot add unanchored patches, even if they include full-context diffs. You can include an unanchored file in the anchored patch, however Crucible is unable to provide full context for that.
Crucible allows the reviewer to see the different revisions of a file within the same review. The 'slider' in the file view allows you to interactively select which revisions are compared in the displayed diff, and to see the full source content. Comments are connected to, and displayed with, a specific revision. This allows you to review every change that has occurred on a code file over a given range of commits, and lets you see the evolution of the file through various revisions (all within one Crucible review).
These screenshots show how, for a post-commit review, you can drag the slider 'handles' so as to display just the changes in the last commit:
Drag the 'handles' to the same commit to see the full source of that version of the file.
When viewing patch files in a pre-commit review, the slider displays the diff for the selected iterations, in a similar way to that for post-commit reviews. Each patch iteration is referred to as a 'working copy'.