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).

Trac 0.12 is supported up to V3.1, see peerreviewplugin/tags/0.12/3.1.

Key features:

  • Support for multiple repositories (since [15598])
  • Diff view of changes in follow up reviews
  • Use wiki formatting in comments
  • Inline display of comments
  • Mark comments as read
  • Customizable review workflows
  • Custom reports
  • Timeline events: show status changes for reviews
  • Export data in MS Word docx format

This is the main page with code reviews that are to be performed by you as well as code reviews that you have requested to be performed by others:

Main code review page: My Code Reviews

Further documentation:

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.

See also:

Bugs/Feature Requests

Existing bugs and feature requests for PeerReviewPlugin are here.

If you have any issues, create a new ticket.


91 / 96


10 / 26


4 / 7

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.

Multirepository support is available in trunk.


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


General instructions on installing Trac plugins can be found on the TracPlugins page.

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

18053 by Cinc-th on 2021-03-11 05:42:25
PeerReviewPlugin: removed compatibility code for Trac 0.12. Make sure Genshi template is loaded when using Trac 1.4.

Refs #13972

18052 by Cinc-th on 2021-03-10 08:40:22
PeerReviewPlugin: provide a copy of path_links.html for use with Genshi. It was turned into Jinja2 code with Trac 1.4.

Refs #13972

18051 by Cinc-th on 2021-03-10 08:21:26
PeerReviewPlugin: fix environment upgrade. Db connection was missing in some codepath.

Refs #13972



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

Last modified 21 months ago Last modified on Aug 2, 2019, 10:42:27 PM

Attachments (2)

Download all attachments as: .zip