FleXtream Branching
The technology behind branching in Firefly is called FleXtream. With FleXtream Branching, you can easily implement stream-base development. A picture of the whole project will be readily available. The purpose and users of each branch will be very clear.
Firefly supports unlimited stream levels and the time of creating a stream or label in Firefly is a near-constant . It increases linearly instead of exponentially as the number of files and folders increase and the curve is almost flat. In fact, Firefly doesn’t copy any file when creating branch, even if the files were modified on any of the branches.
Any two streams, not just parent and child, can be merged in Firefly. In fact, there are a series of actions can be done on any two streams. They can be merged, compared, and synchronized.
FleXtream also makes automatic check of repetitive merge possible.
Because of the advanced branching technology and practices it implements, parallel development is a breath with Firefly. Different streams in Firefly are separate entities and changes done on them will be isolated until explicit merge command is executed. This does not mean branch merge is a difficult task in Firefly however. Quite on the contrary, branch merge is easier than ever in Firefly. FleXtream makes branching best practice and SCM Patterns implementation easy and straightforward.
Firefly also supports file-level concurrent development (multiple-checkout ).

Firefly offers an extensive GUI to help you manage branches in your projects. Branch merge, compare, sync and creation are made easy by buttons on the toolbar and wizards which guide you through the processes.

In Firefly, label is a project level concept instead a file level tag. Therefore, label creation is very fast in Firefly.
Aside from the convenient GUI and wizard to help you through the typical label operations like download, setting, delete, compare and creation, Firefly also provides you with the ability to easily retrieve all labels belong to a stream; to compare two labels, to create a new branch basing on a label and to create a label basing on an existing label.
Labels have two states in Firefly, active and inactive. You can set a past label to be inactive and set Firefly to display only active labels.
Index Previous Next