Distributed Peer Review of Source Code


This plugin integrates a distributed peer review system for software developers into Trac. The plugin eliminates the need for time consuming code review meetings by giving developers the ability to review code in a user-friendly web-based environment during their own time and in a distributed manner. The interface integrates seamlessly with your repository, thereby allowing users to browse it for reviewable files.

The purpose of this plugin is to review files from the repository and comment on them. Later on one may check the applied changes against the original file using a diff view. The plugin is not meant for reviewing change sets (#224).

This program is written in Python with Genshi, Javascript and AJAX for the user interface.

Further documentation:

See also:

Bugs/Feature Requests

Existing bugs and feature requests for PeerReviewPlugin are here.

If you have any issues, create a new ticket.


89 / 93


7 / 20


4 / 6

If you have any comments about the plugin or/and you would like to join the discussion, please see ticket #2850.


Download the zipped source from here.


Check out PeerReviewPlugin from here using Subversion, or browse the source with Trac.

Installation / Configuration

  • Follow the standard Trac plugin installation instructions.
  • Enable the plugin in your trac.ini file:
    codereview.* = enabled


The permissions CODE_REVIEW_DEV and CODE_REVIEW_MGR must be assigned as appropriate:

  • Only users with permission CODE_REVIEW_DEV may perform code reviews.
  • Permission CODE_REVIEW_MGR is for administration of code reviews.

Workflow operation for reviews

You can configure a custom workflow operation set_review_owner for reviews:

change_owner = * -> * = Change Owner to
change_owner.operations = set_review_owner
change_owner.permissions = CODE_REVIEW_MGR

This operation allows you to change the owner of a review. Possible users are taken from the same list as the one used when creating a review. In the given example you need the permission CODE_REVIEW_MGR to perform the operation.

Project list

When creating a review you can specify an associated project. The projects are taken from the list created by SimpleMultiProjectPlugin. If you don't have this plugin installed or you want to create another list, you may do so using the following settings:

projects = Project1, Project2, Project3

Recent Changes

15557 by Cinc-th on 2016-05-22 16:02:54

PeerReviewPlugin: new upgrade mechanism

  • Create database tables directly for first time installs instead of performing each upgrade step. This fails for backends other than SQLite.
  • don't try to upgrade ancient versions of the plugin. If you use such a version create a support ticket.
15543 by Cinc-th on 2016-05-04 09:31:25
PeerReviewPlugin: add Change owner to default workflow for reviews.
15538 by Cinc-th on 2016-05-03 16:02:07
PeerReviewPlugin: for some reason inserted rows with version information were not available during next transaction causing a failure of update from peerreview db version 1.


The plugin uses code from TestManagerForTracPlugin for the workflow feature (see TestManagerForTracPluginWorkflow) and persistence of objects (see TestManagerForTracPluginGenericClass). Thanks to Roberto Longobardi for making it available under the permissive bsd-license.

Author: Team5
Maintainer: Cinc-th
Contributors: sontek, djeebus, proofek, blongden, bselby, Rys, andersm, rjollos, yudivian

Last modified 5 days ago Last modified on May 24, 2016, 11:09:36 PM

Attachments (2)

Download all attachments as: .zip