Upsource as Repository Browser

Whether you're using a modern DVCS or maintaining legacy repositories, we've got you covered: Upsource allows you to browse repositories based on Git, Mercurial (Hg), Subversion (SVN) and/or Perforce (P4).

With Upsource as a repository browser, you can:

Keep track of revisions

First and foremost, Upsource lists recent changes in your repository.

Commit message, author, timestamp and commit ID are instantly visible for each commit, as are quick links to a diff view and a link that lets you explore your project state as of a particular revision.

The list of commits is accompanied by a commit graph that helps visualize the history of commits, branches and merges in your repository.

Upsource commit graph shows the history of revisions and visualizes branching

You can search in commit history using various criteria such as commit message, commit ID, author, branch, time span, file name or path. Filter out the commit graph to focus on most relevant parts, by searching for a specific author, commit message, file name or VCS branch.

Filter commit graph to show revisions from a specific author and/or made in a specific time span

Examine any change in detail

From the list of commits, you can navigate to a specific revision to see what was changed, how it was changed, and possibly discuss the reasons behind the change with the contributing developer or your team.

In the revision view, you can see the list of changed files, as well as an inline diff view showing modified sections of each changed file in revision, all on a single page.

A view displaying what has changed in the current revision

From there, you may want to open a side-by-side diff view to display the current revision of each changed file along with the previous revision. On a Java project, the side-by-side diff view will show you code inspections in both revisions of the file.

Explore your code base

You can easily explore your code base as of any revision, current or prior, without the hassle of checking out.

Code view in file that belongs to a specific revision

When viewing an old revision, Upsource tries to fetch info on future changes and highlight them where possible.

Upsource highlights future changes when you browse a past version of a file

You can search for a certain file in any revision, making use of lowerCamelHumps. For example, to find HttpContentEncoding.cs, simply enter hce in the Go to Symbol field.

If you're working with a Java project, Upsource can find not only files but even specific classes or methods, both in the source code and in connected libraries.

Search for files and symbols similar to that available in IntelliJ IDEA

Full-text search in a revision, with optional file name filtering, is also available.

Learn the history of specific files

Whenever you need to know how a file has evolved, use the History view to display the list of revisions that have affected the file, links to diff views for these revisions, as well as links to code reviews that were conducted on these revisions.

Revision history of a file, with past code reviews highlighted

Another historical view called Annotate displays line-level references to developers and revisions that have most recently affected specific lines of code in a file. (Similar views are called "Blame" in other tools.)

Annotate view shows most recent revisions that affected specific lines of code

Analyze repository activity

Upsource provides a number of reports for a bird's-eye view of what's going on in your project.

For example, you can get an overview of how commit activity is distributed over time, or who is usually contributing to which Java modules.

A code review report is also available, showing how many revisions were covered with code reviews, or how many open and closed reviews you have in your project.

Responsibility report showing how subsystems distribute between team members

Upsource is also a code review tool. Learn how you can use Upsource to review, discuss and share code.