Upsource ist ein kollaboratives Code-Review-Werkzeug. Dafür klinkt sich das Tool in den Code ein, der in Versionskontrollen wie Git, GitHub, Mercurial (Hg), Subversion (SVN) und/oder Perforce (P4) eingecheckt wurde. Das Tool eignet sich für die Ausführung von serverseitigen, statischen Code-Analysen von Java-Projekten. Darüber hinaus erlaubt Upsource anhand von zusätzlichen Navigations- und Code-Inspektions-Funktionen einen tieferen Einblick in Java-Projekte: So können Entwickler nachverfolgen, wie sich Code-Änderungen im gesamten Projekt auswirken und so rechtzeitig feststellen, ob eine Revision gefährliche Änderungen wie NullPointerExceptions mit sich bringt.
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.
If you practice code reviews in your project, then Upsource will also indicate status for any code reviews associated with revisions, showing their review IDs, current state, and completion rate.
You can search in commit history using various criteria such as commit message, commit ID, author, reviewer, 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.
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 in a single page.
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. In 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.
When viewing an old revision, Upsource tries to fetch info on future changes and highlight them where possible.
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. In Java projects, you can even search for specific methods or classes.
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.
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.)
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.
If you work on a Java project, you can additionally see who is usually contributing to which Java modules.
Finally, there's a code review report available showing how a project team handles reviews and who's usually reviewing changes.
In addition to being a repository browser, Upsource is also a code review tool. Learn how you can use Upsource to review, discuss and share code.
Free 10-user plan included