| 1 | = Code Review in Trac core = |
| 2 | |
| 3 | == Changeset commenting == |
| 4 | * #2035 requests ''Changeset commenting'' which would allow a rudimentary form of code review. |
| 5 | * 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. |
| 6 | |
| 7 | = Trac Code Review Plugins = |
| 8 | |
| 9 | == Overview == |
| 10 | |
| 11 | || ||= Status =||= Last Update =||= Compatibility =|| |
| 12 | ||=[#ExoWebCodeReviewPlugin] =||Unmaintained?|| 2010 ||Incompatible with Trac >= 0.11 || |
| 13 | ||=[#PeerReviewPlugin] =||Unmaintained?|| 2010 ||Branches 2.1 and 2.2 are ports to Trac 0.11|| |
| 14 | ||=[#CodeReviewPlugin] =||Unmaintained|| 2009 ||Trac 0.11|| |
| 15 | ||=[#GvnTrac] =||Unmaintained?|| 2009 ||Trac 0.11?|| |
| 16 | |
| 17 | == [th:ExoWebCodeReviewPlugin] == |
| 18 | * Workflow: |
| 19 | * Allows creating reviews per changeset |
| 20 | * Reviews can be assigned to multiple reviewers |
| 21 | * Review status can be one of |
| 22 | * ''No need to review'' |
| 23 | * ''Awaiting review'' |
| 24 | * ''Undergoing review'' |
| 25 | * ''Completely reviewed'' |
| 26 | * Each reviewer gets one comment text field |
| 27 | * Features: |
| 28 | * A new main navigation tab to create and view reviews |
| 29 | * Permissions support |
| 30 | * Timeline integration |
| 31 | * Email notification support |
| 32 | * Implementation details: |
| 33 | * Uses a custom DB table for reviews and comments, and an second custom DB table to cache the path prefix of reviewed changesets |
| 34 | * Still uses ClearSilver templates |
| 35 | |
| 36 | == [th:PeerReviewPlugin] == |
| 37 | * Workflow: |
| 38 | * Allows creating reviews by selecting (line ranges in) files |
| 39 | * Reviews can be assigned to multiple reviewers |
| 40 | * Reviewers can vote for or against acceptance |
| 41 | * Reviewers can comment on specific lines of code |
| 42 | * Features: |
| 43 | * A new main navigation tab to create and view reviews |
| 44 | * Permissions support |
| 45 | * Timeline integration |
| 46 | * Implementation details: |
| 47 | * Uses four custom DB table for reviews, assigned reviewers, selected files and comments |
| 48 | * Templates were converted to Genshi in the 2.2 branch |
| 49 | |
| 50 | == [th:CodeReviewPlugin] == |
| 51 | * Workflow: |
| 52 | * Simply allows commenting on a changeset |
| 53 | * Changesets can be marked as accepted or rejected |
| 54 | * Features: |
| 55 | * Simple permissions support |
| 56 | * Implementation details: |
| 57 | * Uses a Genshi template stream filter to modify Trac's changeset page |
| 58 | * Uses a custom DB table for changeset comments |
| 59 | * (A simple hack is used to set it up lazily. There is no proper {{{IEnvironmentSetupContributor}}} implementation.) |
| 60 | |
| 61 | == [http://projects.matt-good.net/trac/gvntrac GvnTrac] == |
| 62 | * Workflow: |
| 63 | * Uses Gvn changebranches for reviews. |
| 64 | * (Gvn is a special Subversion client adding support for special code review branches, restricting this to Subversion repositories.) |
| 65 | |
| 66 | = Non-Trac Code Review Solutions = |
| 67 | |
| 68 | * [http://www.reviewboard.org/ Review Board] |
| 69 | * [http://code.google.com/p/rietveld/ Rietveld] / [http://codereview.appspot.com/ codereview.appspot.com] |
| 70 | * [http://codestriker.sourceforge.net/ Codestriker] |