= Code Review in Trac core = == Changeset commenting == * #2035 requests ''Changeset commenting'' which would allow a rudimentary form of code review. * Status: There has been no development on this specifically. Fundamental generalizations of the Trac core code may be required for an acceptable implementation in core Trac. = Trac Code Review Plugins = == Overview == || ||= Status =||= Last Update =||= Compatibility =|| ||=[#ExoWebCodeReviewPlugin] =||Unmaintained?|| 2010 ||Incompatible with Trac >= 0.11 || ||=[#PeerReviewPlugin] =||Unmaintained?|| 2010 ||Branches 2.1 and 2.2 are ports to Trac 0.11|| ||=[#CodeReviewPlugin] =||Unmaintained|| 2009 ||Trac 0.11|| ||=[#GvnTrac] =||Unmaintained?|| 2009 ||Trac 0.11?|| ||=[https://github.com/Automattic/trac-code-comments-plugin Code Comments Plugin] =||Maintained|| 2012 ||>= Trac 0.12|| == [th:ExoWebCodeReviewPlugin] == * Workflow: * Allows creating reviews per changeset * Reviews can be assigned to multiple reviewers * Review status can be one of * ''No need to review'' * ''Awaiting review'' * ''Undergoing review'' * ''Completely reviewed'' * Each reviewer gets one comment text field * Features: * A new main navigation tab to create and view reviews * Permissions support * Timeline integration * Email notification support * Implementation details: * Uses a custom DB table for reviews and comments, and an second custom DB table to cache the path prefix of reviewed changesets * Still uses ClearSilver templates == [th:PeerReviewPlugin] == * Workflow: * Allows creating reviews by selecting (line ranges in) files * Reviews can be assigned to multiple reviewers * Reviewers can vote for or against acceptance * Reviewers can comment on specific lines of code * Features: * A new main navigation tab to create and view reviews * Permissions support * Timeline integration * Implementation details: * Uses four custom DB table for reviews, assigned reviewers, selected files and comments * Templates were converted to Genshi in the 2.2 branch == [th:CodeReviewPlugin] == * Workflow: * Simply allows commenting on a changeset * Changesets can be marked as accepted or rejected * Features: * Simple permissions support * Implementation details: * Uses a Genshi template stream filter to modify Trac's changeset page * Uses a custom DB table for changeset comments * (A simple hack is used to set it up lazily. There is no proper {{{IEnvironmentSetupContributor}}} implementation.) == [http://projects.matt-good.net/trac/gvntrac GvnTrac] == * Workflow: * Uses Gvn changebranches for reviews. * (Gvn is a special Subversion client adding support for special code review branches, restricting this to Subversion repositories.) = Non-Trac Code Review Solutions = * [http://www.reviewboard.org/ Review Board] * [http://code.google.com/p/rietveld/ Rietveld] / [http://codereview.appspot.com/ codereview.appspot.com] * [http://codestriker.sourceforge.net/ Codestriker]