Creating your first project
To add your first project in Upsource:
- Log into Upsource using the administrator account. Non-admin user accounts are not eligible to create new projects.
If your repository is located on GitHub, click Connect to GitHub then follow this instruction.
- In the Create Project form, specify settings for your project.
- Name: Give your project a name and type it in.
- ID: Project ID is created automatically based on the specified project name.
Project is hosted in multiple repositories: Select this option if your project is divided into a few separate repositories but building this project requires fetching all the repositories into specific locations under the root directory. Mapping multiple repositories allows you to watch and review changes in all of them from a single Upsource project.
Repository URL: The following formats are expected in the Repository URL (Server name) field for different version control systems:
Branches: you can define one or more SVN paths where Upsource should be looking for SVN branches. Use rules like +: or -: to include or exclude branches. Branch paths are relative to the repository URL specified above. Pattern may contain one * to match any number of characters in directory name.
- Download and install _P4:COMMAND LINE_ on the machine with your Upsource installation.
- For Mac OS and Linux, specify PATH to _P4:COMMAND LINE_ in your system environment variables (see P4 instructions).
- Restart Upsource
To include the entire project, specify:
To include only selected directories of the project, list these directories followed by corresponding directories in Upsource (divided by a space). Example:
//depot/project1/directory1/... //upsource/depot/project1/directory1/... //depot/project1/directory2/... //upsource/depot/project1/directory2/...
- Login, Password: Specify credentials to connect to your VCS.
- Check interval: Reflects how often Upsource checks for new revisions in the repository (every 300 seconds by default.)
If commits to your repository aren't usually made this frequently, consider setting _Check interval_ to a larger value.
See also: What is supported for each VCS
There's a separate option for projects that use Maven irrelevant of which IDE is used to maintain code, and also an option that enables code analysis when IntelliJ IDEA is used in the project irrelevant of build system (for example, if your project is built with Ant but you're using IntelliJ IDEA based IDE, then IntelliJ IDEA would be your choice of build system.)
Choose IntelliJ IDEA:
If your team developers configure their IDE so each has different .idea folder, it's still recommended to store most of the .idea folder contents in version control, only omitting the user-specific settings, such as .idea/workspace.xml and .idea/shelf. Otherwise Upsource will not be able to provide code insight for your project.
If Maven is selected as build system:
- Path to project model should contain the path to the parent _pom.xml_ file (relative to project root). If your project modules are hosted in multiple repositories (e.g. each module in their own repository), you can configure them all in one Upsource project, and keep the parent pom.xml in the first repo.
If Gradle is selected as build system, Path to project model should contain the path to the
build.gradlefile (relative to project root). Please note: Android Studio projects are not currently supported.
If you're planning to work on Gradle projects without a wrapper:
- In the
<upsource_home>/confdirectory, create a file
- Add the following line to that file:
gradle.home.directory=<gradle_home>. Use double backslashes in the specified path (e.g.
- Restart Upsource
- In the
- Default branch - optionally specify the branch which you want to set as default. Setting the default branch will improve displaying the commits graph, rendering README files, comparing branches, etc.
Upsource can detect references and turn them into hyperlinks. For example, issue references mentioned in commit messages or discussion comments (such as Fix PRJ-123) can be recognized by Upsource and linked to the corresponding issues in your tracker.
Issue Tracker Integration
Integration with known issue tracker enables additional features such as creating issues from code reviews and discussions.
Please refer to Issue tracker integration for detailed instructions.
Meanwhile Upsource will start loading commit information from the repository, then fetching and indexing repository content.
All this could take a while for larger projects (up to several hours.) To track indexing progress, hover over the project name. You will most probably not be able to work with the project before these steps complete.
Upon completing them, Upsource will allow browsing code in revisions, displaying diffs in revisions, create and process code reviews etc.