Code Review, Discussions and Sharing
Upsource is great place for your team to communicate with the intent of improving your code base:
- Start discussions over parts of code to pinpoint possible issues
- Start more formal code reviews based on specific revisions or spanning entire branches
- Share links to pieces of code for a quick reference
You can start discussions in code or diff views, with or without creating a formal code review.
When viewing any revision of a file, you have access to all relevant discussions from prior revisions of this file, be it within code reviews or in standalone discussions that weren't parts of formal code reviews.
Essentially, knowledge about specific files in your code base is accumulated and made available for future reference.
Anyone can request or start post-commit code review on any revision or branch.
If you use the increasingly popular workflow of reviewing entire branches, then as soon as you click Create branch review on a branch, Upsource puts all revisions in the branch under a single review, and makes sure to automatically add any new revisions as they appear. Branch tracking stops when a review is closed and resumes if it's reopened later.
No strict workflow is imposed on the code review process:
- If a developer who made a change wants their change to be reviewed, that's fine.
- If someone else on the team wants to raise a concern over a teammate's change, they can perfectly do that by starting a code review, too.
When starting a code review, you can add one or multiple reviewers, picking the teammate(s) most proficient in the part of code that you're modifying. Reviewers discuss your changes and mark the review as complete as soon as they're fine with them.
You can also add teammates as watchers in code reviews so that they become aware of important changes in your code base. Watchers aren't expected to take part in the review process, but kept updated of your project's status whenever an important change is made.
Developers taking part in a code review can discuss specific lines in the diff view, or add general comments to the review as a whole.
You can add new revisions to a review if a revision originally submitted for review required further changes stemming from the discussion. Upsource will add new revisions automatically if the subject of your review is the entire branch.
Access reviews that you are involved in as an author, reviewer or watcher from your project's home view. Alternatively, browse all reviews in a project, assisted with search and review status indication:
You can monitor status updates in a project via personalized e-mail notifications. Alternatively, you can track the News feed in the project's home view, which displays updates such as new comments addressing you, and recently opened and closed reviews.
If you want to get a high-level overview of code review activities in your project, there's a set of code review reports that show the share of revisions that are covered with code reviews, how many open and closed reviews you have in your project, and which project developers are most involved in the code review process.
In Upsource, everything has a URL and can be shared with teammates. This includes code reviews, revision diffs, discussions on code and on revisions, reports or filters applied to commit graphs (for example, all commits by developer X in time span Y).
You can even share custom selections of code in any specific revision:
When you share a URL that Upsource generates for a selection, anyone you share it with can open it and have the selection highlighted like this:
In addition to being a code review tool, Upsource is also a repository browser. Learn how you can use Upsource to browse and monitor changes in code repositories based on Git, Mercurial, Subversion and/or Perforce.
If you're a Java developer, you might also be interested to know about additional code insight features in Java projects including code inspections and advanced navigation.
Free 10-user plan included