canmove, Confirmed users
409
edits
(Created page with "= Status = Requirements for a next-generation code-review tool are settled and the design complete. We're currently fixing up a few last rough edges before general deploymen...") |
|||
Line 16: | Line 16: | ||
versions of the attached patch file and allows you to add comments to the diff. While tools such as [http://hg.mozilla.org/hgcustom/version-control-tools/file/tip/hgext/bzexport bzexport] have improved usability, Splinter is fundamentally limited. Adding useful features like increased context (outside of the patch itself), history, interdiffs, and so on are possible to varying degrees, all are made difficult or largely impossible by the fact that Splinter is based on patches. | versions of the attached patch file and allows you to add comments to the diff. While tools such as [http://hg.mozilla.org/hgcustom/version-control-tools/file/tip/hgext/bzexport bzexport] have improved usability, Splinter is fundamentally limited. Adding useful features like increased context (outside of the patch itself), history, interdiffs, and so on are possible to varying degrees, all are made difficult or largely impossible by the fact that Splinter is based on patches. | ||
== The new: | == The new: repository-centric development == | ||
GitHub really popularized the idea of doing | GitHub really popularized the idea of doing repository-centric code review via Git's branches and GitHub's pull requests feature. Essentially, you clone a repository, create a branch, push that branch to a remote, and trigger a code review from that pushed branch. | ||
This approach puts the code repository and version control system front-and-center. Contrast with exchanging patches, which are representations of changes. | |||
of | |||
There are several advantages to a repository-centric approach to code review: | |||
Several other tools, such as [https://code.google.com/p/gerrit/ Gerrit], | * You can get full context of the changes from the underlying repo | ||
implement this functionality as well, but sadly none of the good | * You can address review points by pushing a new commit, which inherently allows interdiffing | ||
options support multiple VCSes, and Mozilla still uses | * You can easily pull down the branch under review for testing | ||
heavily. | |||
Several other tools, such as [https://code.google.com/p/gerrit/ Gerrit], implement this functionality as well, but sadly none of the good options support multiple VCSes, and Mozilla still uses Mercurial heavily. | |||
= The Solution: Review Board and friends = | = The Solution: Review Board and friends = |