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

Discussions

You can start discussions in code or diff views, with or without creating a formal code review.

Discussion on an specific line in an inline diff within a 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.

Upsource persists discussions and reviews through history and helps you see all accumulated knowledge of a piece of code from any further revision


Code reviews

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.

Create branch reviews and have Upsource add any new changes to a branch automatically

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.

Code review participants: authors, reviewers and watchers

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.

Review timeline showing review-level comments different updates to review

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:

List of all code reviews in a project

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.

Project news feed

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.

Code review statistics in Upsource project


Code sharing

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:

Share a link to a random selection of code

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:

Link to selection as the receiving person sees it





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.

Download Upsource

Free 10-user plan included