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.
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.
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).
- 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.
- Current Branch: Branch from which you are creating the release.
- Commit to Release: Description of the commit from which the release will be done.
- Latest Release in Branch: Indicates the last release performed from this branch. Studio will suggest a version number on this basis.
- Release Version: Select or type the version number that you are going to release.
- Help Version Format: List of format rules to apply on your releases.
Releases can also be created using a REST API.
Nuxeo Studio acts as a Maven repository to provide a Studio project artifact for each of your branches.