Branch Management editor contains the information related to the branch management of the current project. This is where you can create, manage and delete your branches.
Creating a Branch
Create a branch enables you to work with a maintenance branch or to implement a feature without impacting the
master branch. The New Branch button lets you create a branch. Fill in the creation form with a new name for your branch and save. The new branch will be created from the content of the last branch you checked out into your workspace. Creating a branch requires to have access to the advanced features of Nuxeo Studio, please contact your sales representative to activate them.
Managing a Branch
Once you have created several branches, different options are available to manage them:
The Checkout button lets you work on the given branch. What happen concretely is that it creates a branch based on your user name and the name of this branch, in which you will save your changes and do some commits. Then, when you click on "push", it will merge the content of the branch in your workspace with the content of the "common branch" from which it was created. If you are in simple mode, each time you save it commits to the branch on your workspace and then merges with the "common branch" from which it was created.
The Merge into my workspace button enables to merge on your current local branch the changes of the other branch, which includes not only the commited features, but also the current target platform and version values. Once you have merged into your workspace, you can test that the merge didn't break any existing feature. You can then "push" the merge to the common branch to share it to others.
- The Delete button lets you remove the corresponding branch.
When you click on the name of one of the branches, the list of the commits of this branch is displayed. For each commit entry you can:
- Unfold the commit details: It displays added, updated and removed configuration including number of "files" (one file = one feature instance of the Studio project).
- Tag: Create a tag from that commit. See tag section here-after. A tag doesn't produce a snapshotted package that could be installed on a Nuxeo Platform instance.
- Release: Create a release from that commit. See release section here-after. When performing a release, a package is snapshotted and archived so as to be able to perform a re-installation of that exact same release of your project later.
Revert: Revert to this commit. This command allows you to restore a previous state of the project by adding a set of changes which invert the set of changes made after the commit on which you selected.The revert command preserves the history and a revert entry unlike a reset command which would remove the set of changes after the commit you may have selected (the reset command is not provided to users).
The history does not display pending changes that you haven't pushed (this situation can happen when you are in intermediate or advanced mode).
- Tag Name: The name of your tag.
- On Commit: Read-only and automatically filled, name of the tag where the release will be done.
- Description: The description of the tag. This description is here for information purpose.
- Help Version Format: List of format rules to apply on your releases.
- Help Last releases performed: List of the last releases you have created.
- Branch: Name of the branch where you are actually working.
- Commit Released: Read-only and automatically filled, name of the commit where the release will be done.
- Current Version: Read-only and automatically filled version number of your branch.
- Released Version: Type the version that you are going to release.
- Next Version: The version after the release.
When a release is performed, the next version can be updated. If you are in advanced mode and your releasing the current branch, a commit to increase the version is staged and you will have to pull it.
Nuxeo Studio acts as a Maven repository to provide a Studio project artifact for each of your branches.