Adding Fabric Projects to Version Control

Fabric Version Control Overview

The Fabric Studio has a built-in Version Control functionality based on GIT standards. The benefits of using Versioning Control are:

  • Maintaining current and historical versions of files.
  • Cooperative and simultaneous work of multiple users while ensuring the integrity of their work.
  • Reverting to an older version of a project’s files when errors are found in a current version.

Note that although there is an option for working with Apache Sub-version (SVN), it is recommended to work in a GIT framework

Click for more information about Best Practices for Working with SVN and GIT.

Click for more information about the K2Admin Studio.

How Do I Start Working with Version Control?

To start using Configuration Control, do either:

  • Create a new project and add the project to version control.
  • Check out an existing project based on the repository type: GIT or SVN.

Each user can work on a local copy of the project that is synchronized with the central repository of the project. Synchronization is performed manually.\ Note that if you choose to work with SVN as your preferred version control, the K2Admin Studio should be installed in order to define the repository, users, groups and permissions.

Click for more information about Creating a New Project.

Click for more information about the Fabric Project Structure.

Setting Up GIT

GIT Server

  1. Check that the GIT Server is available or use GitHub.
  2. Create a new repository for the new project.
  3. Copy the Repo URL and create the relevant user permissions.

GIT Client

Download and install TortoiseGit or GitHub for Windows on the Fabric Studio Windows machine.

GIT on Fabric Studio

  1. Go to the Fabric Studio and create a new project and add it to GIT.
  2. Add and commit the new project items to GIT: right click the project, click TortoiseGit, click Add and then click Commit.

Logging In to SVN

  1. Go to the SVN Version Control and click the project to display the Connect to Login dialog box of the last opened project.
  2. Enter the Username and Password and then click OK to open the Fabric Studio Main Window.

Checking a Project Out of GIT

How Do I Check a Project Out of GIT?

  1. Go to the File Browser and click Checkout Directory and then Project.
  2. Add the GitHub Repository URL and click OK to open the Authentication dialog box.
  3. Enter your Username and Password and then click OK.

Click for more information about Best Practices for Working with SVN and GIT.

Checking a Project Out of SVN

How Do I Check a Project Out of SVN?

  1. Go to the File Explorer and click Checkout Directory and Project.
  2. In the Repository URL field type in the name of the project to check out.
  3. Verify the Repository URL is correct.
  4. In the Revision panel select the preferred SVN Revision and click OK.
  5. Optional: If a previous revision is selected, click Show Log to display the log and select the Revision.

image

Note that when opening a project that has been updated and committed to the repository by another user, a warning is displayed requesting confirmation that the revision on the local machine is up-to-date.

Click for more information about Best Practices for Working with SVN and GIT.

Project Tree Version Control Indicators

When a project is registered in the Version Control system, the following indicators may be displayed next to the Project Tree components based on their status:

 

Modified

+

New objects

 

Locked

 

Updated

 

Branch with modifications

 

File is versioned, but was inserted from a different location

 

File is versioned and locally locked, but not modified

 

File is versioned, locally locked and modified

 

File is in conflict; must be resolved before continuing

What Are the Version Control Operations?

TortioseGit Operations

Commit

Record changes to the repository.

Pull

Incorporate changes from a remote repository into the current branch.

Fetch

Download objects and refs from another repository.

Diff

Displays the following options:

·    Changes between the working tree and the index or a tree.

·    Changes between the index and a tree.

·    Changes between two trees.

·    Changes between two blob objects.

·    Changes between two files on disk.

Show Log

Displays a log of all commits influenced by the selected file.

Show Reflog

Manages the information recorded in reflogs.

Browse References

Browse to view and work with all references.

Repository Browser

Displays all contents / files / revisions of a repository, without having a working tree.

Check for Modifications

Displays all modified files and un-versioned files in the working tree.

Resolve

Displays a list of conflicted files in a folder. Select a file to mark it as Resolved.

Revert

Displays a pop up listing the files that have been changed and that can be reverted. (Undo).

Cleanup

Enables removing untracked or ignored files from the working tree.

Switch

Enables checking out a specific version to the working tree.

Merge

Incorporates changes from another repository and can be used to manually merge changes from one branch into another.

Create Branch

Create a new Git branch.

Create Tag

Create a tag object.

Export

Export a Git Working Tree.

Add

Updates the index using the current content in the working tree to prepare the content staged for the next commit.

Help

Display Help information about Git.

About

Details on the Git version and additional components.

Key SVN Operations

The context menu displays two top-level SVN operations or TortoiseSVN operations directly from the Project Tree:

SVN Update

Performs manual synchronization at any time. Select to either update to the HEAD revision (latest) or to an earlier revision.

SVN Commit

Commit all changes to the central repository. The committed components are available to other users. You can commit individual components or all components.

Log

Enables you to review the changes of a specific component, level in the tree, or over a given period. Displays a Log window that lists the log entries associated with the object.

Repository Browser

Enables you to browse different versions of the project or a specific object. By default, the Head (latest) revision is displayed. Drill down to the level of a component and review the log.

Cleanup

Enables you to perform a sanity check on the SVN issues of the client. Upon completion, a message is displayed to report success or identify problems.

Revert

Enables you to roll back any changes that have not yet been committed and revert to the version in the SVN repository. By default, all changes under the tree component are rolled-back. There is also an option to choose only selected changes.

Resolve Conflict

Enables you to resolve a conflict between the local version and the version in the SVN. These conflicts may arise if a new project version, committed by another user, contains changes conflicting with the locally made changes. You can select to resolve the conflict based on the local version or the committed version.

SVN Export

Exports the SVN version of the entire project.

SVN Branch feature

Enables isolating changes into a branch. Branches are often used to test new features without disturbing the main line of development with compiler errors and bugs. When the new feature is stable, the development branch is merged back into the main branch (trunk), accessed from the root project tree SVN context menu.

Click for more information about Best Practices for Working with SVN and GIT.

Previous

Adding Fabric Projects to Version Control

Fabric Version Control Overview

The Fabric Studio has a built-in Version Control functionality based on GIT standards. The benefits of using Versioning Control are:

  • Maintaining current and historical versions of files.
  • Cooperative and simultaneous work of multiple users while ensuring the integrity of their work.
  • Reverting to an older version of a project’s files when errors are found in a current version.

Note that although there is an option for working with Apache Sub-version (SVN), it is recommended to work in a GIT framework

Click for more information about Best Practices for Working with SVN and GIT.

Click for more information about the K2Admin Studio.

How Do I Start Working with Version Control?

To start using Configuration Control, do either:

  • Create a new project and add the project to version control.
  • Check out an existing project based on the repository type: GIT or SVN.

Each user can work on a local copy of the project that is synchronized with the central repository of the project. Synchronization is performed manually.\ Note that if you choose to work with SVN as your preferred version control, the K2Admin Studio should be installed in order to define the repository, users, groups and permissions.

Click for more information about Creating a New Project.

Click for more information about the Fabric Project Structure.

Setting Up GIT

GIT Server

  1. Check that the GIT Server is available or use GitHub.
  2. Create a new repository for the new project.
  3. Copy the Repo URL and create the relevant user permissions.

GIT Client

Download and install TortoiseGit or GitHub for Windows on the Fabric Studio Windows machine.

GIT on Fabric Studio

  1. Go to the Fabric Studio and create a new project and add it to GIT.
  2. Add and commit the new project items to GIT: right click the project, click TortoiseGit, click Add and then click Commit.

Logging In to SVN

  1. Go to the SVN Version Control and click the project to display the Connect to Login dialog box of the last opened project.
  2. Enter the Username and Password and then click OK to open the Fabric Studio Main Window.

Checking a Project Out of GIT

How Do I Check a Project Out of GIT?

  1. Go to the File Browser and click Checkout Directory and then Project.
  2. Add the GitHub Repository URL and click OK to open the Authentication dialog box.
  3. Enter your Username and Password and then click OK.

Click for more information about Best Practices for Working with SVN and GIT.

Checking a Project Out of SVN

How Do I Check a Project Out of SVN?

  1. Go to the File Explorer and click Checkout Directory and Project.
  2. In the Repository URL field type in the name of the project to check out.
  3. Verify the Repository URL is correct.
  4. In the Revision panel select the preferred SVN Revision and click OK.
  5. Optional: If a previous revision is selected, click Show Log to display the log and select the Revision.

image

Note that when opening a project that has been updated and committed to the repository by another user, a warning is displayed requesting confirmation that the revision on the local machine is up-to-date.

Click for more information about Best Practices for Working with SVN and GIT.

Project Tree Version Control Indicators

When a project is registered in the Version Control system, the following indicators may be displayed next to the Project Tree components based on their status:

 

Modified

+

New objects

 

Locked

 

Updated

 

Branch with modifications

 

File is versioned, but was inserted from a different location

 

File is versioned and locally locked, but not modified

 

File is versioned, locally locked and modified

 

File is in conflict; must be resolved before continuing

What Are the Version Control Operations?

TortioseGit Operations

Commit

Record changes to the repository.

Pull

Incorporate changes from a remote repository into the current branch.

Fetch

Download objects and refs from another repository.

Diff

Displays the following options:

·    Changes between the working tree and the index or a tree.

·    Changes between the index and a tree.

·    Changes between two trees.

·    Changes between two blob objects.

·    Changes between two files on disk.

Show Log

Displays a log of all commits influenced by the selected file.

Show Reflog

Manages the information recorded in reflogs.

Browse References

Browse to view and work with all references.

Repository Browser

Displays all contents / files / revisions of a repository, without having a working tree.

Check for Modifications

Displays all modified files and un-versioned files in the working tree.

Resolve

Displays a list of conflicted files in a folder. Select a file to mark it as Resolved.

Revert

Displays a pop up listing the files that have been changed and that can be reverted. (Undo).

Cleanup

Enables removing untracked or ignored files from the working tree.

Switch

Enables checking out a specific version to the working tree.

Merge

Incorporates changes from another repository and can be used to manually merge changes from one branch into another.

Create Branch

Create a new Git branch.

Create Tag

Create a tag object.

Export

Export a Git Working Tree.

Add

Updates the index using the current content in the working tree to prepare the content staged for the next commit.

Help

Display Help information about Git.

About

Details on the Git version and additional components.

Key SVN Operations

The context menu displays two top-level SVN operations or TortoiseSVN operations directly from the Project Tree:

SVN Update

Performs manual synchronization at any time. Select to either update to the HEAD revision (latest) or to an earlier revision.

SVN Commit

Commit all changes to the central repository. The committed components are available to other users. You can commit individual components or all components.

Log

Enables you to review the changes of a specific component, level in the tree, or over a given period. Displays a Log window that lists the log entries associated with the object.

Repository Browser

Enables you to browse different versions of the project or a specific object. By default, the Head (latest) revision is displayed. Drill down to the level of a component and review the log.

Cleanup

Enables you to perform a sanity check on the SVN issues of the client. Upon completion, a message is displayed to report success or identify problems.

Revert

Enables you to roll back any changes that have not yet been committed and revert to the version in the SVN repository. By default, all changes under the tree component are rolled-back. There is also an option to choose only selected changes.

Resolve Conflict

Enables you to resolve a conflict between the local version and the version in the SVN. These conflicts may arise if a new project version, committed by another user, contains changes conflicting with the locally made changes. You can select to resolve the conflict based on the local version or the committed version.

SVN Export

Exports the SVN version of the entire project.

SVN Branch feature

Enables isolating changes into a branch. Branches are often used to test new features without disturbing the main line of development with compiler errors and bugs. When the new feature is stable, the development branch is merged back into the main branch (trunk), accessed from the root project tree SVN context menu.

Click for more information about Best Practices for Working with SVN and GIT.

Previous