= Code Review in Trac == 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 ||= '''Plugin''' =||= '''Status''' =||= '''Last Update''' =||= '''Compatibility''' =|| ||=[https://github.com/Automattic/trac-code-comments-plugin Code Comments Plugin] =||Maintained|| 2014 ||>= Trac 0.12|| ||=[th:CodeReviewerPlugin] =|| Maintained || 2015 ||>= Trac 0.12|| ||=[#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?|| === [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.) === !GvnTrac This plugin used to be hosted at http://projects.matt-good.net/trac/gvntrac, but is no longer available. * 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] * [http://getbarkeep.org/ Barkeep] (git only) * [http://www.atlassian.com/software/crucible/overview Crucible] (commercial) == Subpages [[TitleIndex(./,hideprefix)]]