Icenium.com

Integrated Version Control in Icenium

Icenium provides integrated version control. Graphite and Mist support a single user version control scenario, but Graphite also provides GitHub integration for team collaboration.

When you create a project, all files are automatically committed to the Icenium Version Control Cloud Services.

Modify

Edit this doc

Modify an existing file and click Save. Save All saves all unsaved changes in all files that are currently open in the editor.

After you save your changes, an M icon appears next to the file or folder name in the Project Navigator to indicate that this file has been modified and the changes are not committed to version control.

Add

You can add a file either by dragging and dropping a file from Windows Explorer into the Project Navigator pane (Graphite-only) or from the Add menu (Graphite and Mist). After you add a file, + icon appears in the Project Navigator to indicate that the file has been added to your project but is not committed to version control.

Commit

When you are ready to commit, from the main menu, click Version Control -> Commit. The Version control dialog opens.

In the Version control dialog, you need to enter a check-in comment before. If you do not provide a comment, the Commit button remains inactive. The right pane displays a short summary of the changes you are about to commit. Use the slider at the bottom to see more or less of the file contents for more or less context on the highlighted change.

To see a full comparison of the initial and modified files side by side click Diff Tool.

History

In the Version Control dialog, click the History tab to review the history.

Click Diff Tool to show a comparison between the current and the previous version of the files side by side with differences highlighted.

Revert

To undo the changes made to a file, right-click the file name in the Project Navigator and click Revert.

Click OK to revert the changes to the file.

Compare (Graphite-only)

To compare a file to the latest version, right-click the file name in the Project Navigator and select Version Control -> Compare with Latest Version from the context menu.

The file that is open in the editor is displayed in the pane on the right. You can make changes to the file and save directly from here.

Rollback

You can use this command to roll back the effects of one or more changesets. This command does not remove the changesets from an item version history. Instead, this command creates in your workspace a set of pending changes that negate the effects of the changesets that you specify. Click on the Version Control icon in the main menu bar and click the History tab.

Select the change set you want to roll back from the list on the left and click Rollback.

Click Yes to roll back to the specified version. Close the Version Control dialog and return to the editor to see the previous version loaded.

Clone

You can start collaborating to an existing project by cloning its repository in Icenium. Only Git repositories are supported (e.g. GitHub, BitBucket, etc.). To clone an existing repository, in the Dashboard, click Clone.

Enter the URI to the remote repository and a name for your workspace. Click Clone to proceed. When the clone operation completes, the newly created project opens in Icenium.

IMPORTANT: When cloning from a GitHub repository, verify that the Repository Uri contains the complete address for your repository, ending in .git.

Clone from GitHub (Graphite-only)

When cloning a repository, Icenium Graphite makes it easy to clone a GitHub repository. In the Dashboard, click Clone -> GitHub. You might be prompted to provide your GitHub credentials to access the repositories available to your GitHub account.

After successfully authenticating against GitHub, you can browse the list of your repositories. When you select a repository, the Repository Uri and Workspace name text box are populated with data from GitHub.

Invite GitHub collaborators (Graphite-only)

When working on a GitHub linked repository, you can invite other GitHub users to collaborate on the project from Icenium Graphite. In the main menu, click Version Control -> Invite Collaborators and type the user names of the users that you want to invite. You can remove a collaborator by clicking x next to the corresponding user name.

Push

To push your local changes to the remote repository, click Version Control -> Push. If the current project is not yet associated with an existing remote repository, you will be prompted to provide an URL for it.

You can change that URL at any time by clicking Version Control -> Configure Remote Repository from the main menu. You might be prompted to provide a valid user name and password to log in to the remote repository.

If the local changes are in conflict with some changes in the remote repository, the Push operation cannot complete and displays an error message.

To solve this problem, you need to perform a Pull operation first, resolve the conflicts locally, and then retry to Push again.

Pull

To pull from a remote repository, click Version Control -> Pull. If the current project is not associated with an existing remote repository, you will be prompted to provide an URL for it.

You can change that URL at any time by clicking Version Control -> Configure Remote Repository from the main menu. You might be prompted to provide a valid user name and password to log in to the remote repository.

If the local changes are in conflict with some changes in the remote repository, the Pull operation cannot complete and displays a warning message.

This puts the local repository in a state that prevents any commits until all conflicts are resolved. The conflicting files are marked with an exclamation mark ! icon in Project Navigator.

Merge

When two or more users have modified the same files, these changes are merged automatically during a Push or Pull operation. In some cases, the automatic merge is not possible and you need to perform the Merge operation manually by resolving any conflicting changes. To resolve conflicts, click Version Control -> Conflicts.

The Conflicts tab in the Version Control dialog lists all files with merge conflicts along with the lines where the conflicts occur. To resolve conflicts, select one of the options in the Resolve drop-down menu.

OptionDescription
Resolve to local versionUse this option to resolve the conflicts with the changes in the local repository, discarding any changes from the remote repository.
Resolve to remote versionUse this option to resolve the conflicts with the changes from the remote repository, discarding any changes in the local repository.
Resolve to workspace versionUse this option to resolve the conflicts with the current version of the files in the workspace. This is useful when you have edited the files to resolve the conflicts manually when none of the above options is applicable.

You can resolve the conflicts manually by editing the files. The conflicts are marked in the source code as follows:

<<<<<<<
Local changes
=======
Remote changes
>>>>>>>

When you are done, click the Conflicts tab in the Version Control dialog and select Resolve to workspace version to mark the files as resolved. Instead of editing the files manually, you can use the Merge Tool to assist you with the merge operation.

NOTE Resolving the conflicting files does not commit them to the local repository. You need to perform a commit operation manually.