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 such as those based on new revisions
  • 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.

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.

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.


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.