In URC, the Branch History panel provides a detailed list of snapshots for a specific branch, while the Branch Explorer provides a visual, interactive view of your project’s branch structure and revision history.
Branch Explorer is designed to help you quickly understand how work has progressed, where changes came from, how different branches relate to one another, and which teammate is working where and on what.
More than just a visualization tool, the Branch Explorer also provides a way for you and your team to create and merge branches directly in the UI.
To learn more about using branches, see
Assets are only locked from editing on the branch level, not the global project level.
This means that two collaborators working from the same branch of a project are able to block one another and other teammates from editing those assets. However those assets are editable from other branches and risks causing a conflict for the asset.
When merging two branches with changes to the same binary assets, the person merging the branches will need to manually resolve any conflicts by choosing one version or the other.
Currently there is no warning-based system to inform developers when their collaborators are editing the same assets on a different branch in order to avoid conflicts.
Branch Explorer has three main sections:
Use the shortcut Ctrl + Alt + B to open Branch Explorer when you're in the Editor.
Toolbar
The Branch Explorer toolbar has quick-access buttons that use globally relevant actions for the project:
New Branch: This opens a dialog to choose the name for a new branch you want to create. This new branch becomes a child of your currently synced branch.
Check In Changes: Check in your latest changes to your currently synced branch.
Sync Latest: Sync the latest changes from your currently synced branch.
Merge From: Select a parent or child of the current branch to merge into that branch.
When a merge completes, the branches merge into an automatic personal branch where you can test the results of your merge before checking them in to their final destination.
Refresh View: Refreshes the branch graph and refocuses to your currently synced revision.
Branch List
In the left column of the Branch Explorer, the list of the project’s branches is nested hierarchically. A new project begins with only the main branch. As you create branches, they populate in the Branches column.
Within this list, you’ll find two types of branches: branches and automatic personal branches.
Branches
Branches are the standard branches created by you or your team. By default, there is one parent branch in the project, called main. A branch has the following characteristics:
Each branch has a branch icon. Blue icons are for branches that have children. Gray icons are for branches that do not have children.
A check mark appears next to the branch you have synced.
A green dot accompanies a branch if there are no changes to check in from a personal branch.
An orange dot next to a branch in the list indicates that the branch has changes you made that have not yet been checked in.
Automatic Personal Branches
Automatic personal branches are created when you save work locally. Personal branches are fleeting, and are automatically archived when you check in changes.
Personal branches ensure that your work is always safe, with an automatic backup created on every save. They also provide security and reduce frustration by offering:
The ability to see the full history of your in-progress work between check-ins, almost like an enhanced undo stack that persists across editor sessions.
The ability to switch between in-progress work on different branches without being forced to check in or revert.
Faster check-in times as a result of the incremental backups along the way.
Better disaster recovery between check-ins.
Automatic personal branches have the following characteristics:
Automatic personal branches use a profile icon.
They display the user name to indicate who owns the branch.
A green dot appears next to a personal branch to indicate where you are working.
Branch Graph
The branch graph acts as a historical map of the project over time. Lines and nodes are used in the branch graph to map the project's history.
Branch Graph Lines
Each line in the graph represents a branch. Branches are labelled, and have unique colors that are consistent across collaborators and across the Branch History and Branch Explorer panels. Hovering over a branch line reveals the branch name.
| State | Description | Image |
|---|---|---|
Current/Synced Branch | Represented with the thickest line, its nodes include the first initial of the collaborator who made the revision. | |
Project branches | Represented with thinner lines. | |
Automatic personal branches | Represented with gray lines. | |
Synced to Pull Changes From the Branch | Represented with dashed lines. |
Teammate personal backups appear as darker lines and are view only. You can’t switch to or take action on other user backups.
Branch Graph Nodes
Nodes represent concrete actions, revisions, or automatic backups. Nodes may include a few different symbols indicating where a branch, merge, or both occurred. Clicking a node opens the node details panel.
The nodes on your current personal branch display their status when backed up to the cloud.
| Status | Image |
|---|---|
Team Member | |
Branch Occurred | |
Merge | |
Merge and Branch | |
Automatic Backup | |
Current Revision / Backup |
Node Details Panel
Clicking a node opens the node details panel where you’ll find information on the revision in question. Node details includes the following information:
The name of the teammate who made the branch.
The name of the branch and revision number.
The date and time the branch was made.
The commit message.
Revision-level actions, including:
A quick link to open the full revision details in the Branch History panel.
The ability to sync to the revision, or to load the automatic backup.