Branch Explorer

The branch explorer is the visual metaphor of the underlying branching and merging system in Plastic SCM.

The branch explorer is an interactive diagram that renders the evolution of the repository: the changesets (commits/checkins), branches and merges.

Features

Common actions

1 / 2
2 / 2

Create labels

It is quite easy to create a new label and attach it to a changeset, tagging a known configuration of the repository.

1 / 2
2 / 2

Create branches

The Branch Explorer allows you to create branches with a couple of clicks.

1 / 2
2 / 2

Running diffs

Diffing the repository is one of the most common operations performed from the Branch Explorer.

1 / 2
2 / 2

Switch to branch

You can use the Branch Explorer to switch your workspace from one branch to another.

Distributed Branch Explorer

1 / 5
2 / 5
3 / 5
4 / 5
5 / 5

Distributed Branch Explorer

The DBrEx (as we call it internally) is one of the most powerful features. It can render together branches coming from different replicated repositories so you can gain an overall view even when developers or teams are working on separate repositories on different servers (but still on the same codebase and project).

You can just click on a “replication source” and include the branches from a different repository into the Branch Explorer. They’re rendered with “dashed lines”.

Runing merges

1 / 2
2 / 2

Regular merges

The Branch Explorer simplifies the entire merge cycle: just select a branch, right click on it and you’ll be able to merge it. The merge calculation will be triggered and the merge tools will be invoked if needed. The Branch Explorer is able to render the entire process.

Explain merges

The Branch Explorer can also display an “explain merge” diagram which lets you better understand what is going on and it is very useful during trainings.

1 / 2
2 / 2

Cherry-pick merge

A cherry pick merges only the changes made on a changeset, ignoring the ones done before or after the changeset. It is very useful to “pick” just some particular changes. It can be launched from the Branch Explorer too.

1 / 2
2 / 2

Subtractive merge

Subtractive merge is an advanced merge operation able to “subtract” a given changeset creating a new one which doesn’t include the changes of the subtracted one find more here

1 / 2
2 / 2

Interval cherry-pick

In Plastic SCM you can also cherry-pick changeset intervals... and it is much easier to do from the Branch Explorer.

Subdiagrams

1 / 4
2 / 4
3 / 4
4 / 4

Subdiagrams

Very often you’ll need to focus on just some branches on your Branch Explorer. When that happens you’ll be using Subdiagrams.

Visualization

Working changeset

The Branch Explorer renders a “home” icon in the working changeset, so it is quite easy to know where you’re located at any time.

If you’re controlled pending changes (checkouts) then the working changeset is rendered as follows:

1 / 2
2 / 2

Show/hide branches

You can customize the branch explorer to show/hide branches, depending on what is clearer for you.

1 / 2
2 / 2

Show only “relevant” changesets

In order to shrink the graphic, we’ve created the concept of “relevant changesets” as the ones that: are the first or last on a branch, source or destination of a merge or labelled. This way you can select to display only the relevant ones simplifying the Branch Explorer.

1 / 3
2 / 3
3 / 3

Level filtering

Plastic SCM classifies branches in “levels”: first level branches (typically “main”), its children as “second level” and so on.

If you carefully use the levels (for instance first levels for main branches, second for releases, third for tasks) it is possible to filter the repository to focus on the levels you want to see at a given moment.

1 / 2
2 / 2

Choose your layout

While the regular layout is horizontal and from left to right (time evolving through the right) you can choose to render vertically if you want.

Visibility mode

Want to hide a branch? Enter the visibility mode and select the ones you don’t want to see.

Legend

The Branch Explorer shows a legend with all the possible elements it can render.

Able to deal with a huge number of branches too

As you can see here, while normally you’ll be focusing on the active branches, the Branch Explorer is able to deal with as many branches as you need... It is a great power but it is your responsibility to use it wisely :-)

Concept

The branch explorer was created after the typical blackboard diagram that every team draws when they try to explain the merge structure of the project. It evolves horizontally from left to right.