Release Notes

Public Dec 10 2014


GUI: Improved I3 (black) theme on Windows by using the ClearType Fonts.


Visual Studio plugin: Changed 'Branch Explorer' view colors in Visual Studio 2012 or higher. Now, branch explorer colors are clearer so contrast is higher. Old colors had low contrast and they were difficult to distinguish.


GUI: Pending changes: Now, extra file info (changeset, size, author and modification date) is displayed for binary files.


Command line client: cm mklabel command can now be executed from outside a workspace. The syntax is the following:

cm mklabel lb:labelname@rep:myrep@localhost:9092 --changeset=8733

Note the cset number is mandatory in this case.


Command line client: cm showacl couldn't be execute from outside a workspace. Fixed.


Command line client and GUI: Private items excluded from 'ignored' parents couldn't be neither added nor listed in the 'pending changes' view or cm status command.

For instance, using this set of rules in the 'ignore.conf' file:


the 'pending changes' view and cm status command were hiding all items under /src, even those items under /src/bin.

Fixed. Now, /src path and children paths such as /src/readme.txt, /src/lib/newlib.h, etc. will be correctly shown as 'ignored' items, whereas /src/bin and its children paths (such as /src/bin/client.exe, /src/bin/deps/pom.xml) will be shown as private items.

Remark: The cm status --cutignored will still hide everything under an 'ignored' item.


Command line client: cm mklabel command was failing when using --changeset option with an invalid changeset number. Fixed. Now, this error condition is notified to the user.


Merge: Fixed an error performing a 'merge' operation when a directory is removed and reloaded again during the merge resolution. The file conflicts could be lost if they were related to the reloaded directory.

The failing scenario is the following:

* Initial structure:


* Changes in source contributor:

add /doc
ch /src/foo.c
mv /src/foo.c to /doc/foo.c
delete /src

* Changes in destination contributor:

ch /src/foo.c
ch /src/bar.c

Choosing 'keep source' option in the directory conflicts resolutions (DeleteChange + MoveDelete) were causing the changes in the '/src/bar.c' item were lost.

Now the case it's fixed, and the file contents are correctly merged.


GitSync: Added support to sync with Git repositories using SSH protocol.

To use this feature correctly, users must have a SSH command line client in the PATH environment variable properly configured (described below).

=== SSH client configuration ===
* A SSH command line client "ssh" should be configured in the PATH environment variable.

* Copy the private key file (usually a file called "id_rsa") to the ssh config folder.
  Usually the folder name is ".ssh", located in the user's HOME folder.  
** On Windows-based OS, the "HOME" environment variable has to be set to the user folder,

   such as "C:\Users\myuser".
** On Linux-based OS, don't forget to set proper permissions to the private key file:
   "$chmod 600 /home/myuser/.ssh/id_rsa"

* Use the GitSync specifying the SSH clone URL.
  Example: "$cm sync rep2 git"
  If the private key is protected, the user will be prompted to enter the passphrase.

=== Troubleshooting ===
*  Problem: The ssh server is not listening in port 22, or
   different private keys have to be set for different servers.
** Solution: Create a "config" file in the ".ssh" folder, specifying different settings foreach server.
   Example of "config" file contents:
     User gitolite
     Port 2222
     IdentityFile ~/.ssh/id_rsa

     User git
     IdentityFile ~/.ssh/github_key

     IdentityFile ~/.ssh/id_rsa

*  Problem: I get "An error occurred while connecting to Git".
** Solution: It might be an error related with the configuration of the ssh client.
   It is recommended to use GitSync with the command line client to get more info about the error.
   Example: "$ cm sync rep2 git"