You know how to use Git and want quickly move to Dimensions CM?
Do you work on multiple projects some of which use Git and some use Dimensions CM?
Do you use an IDE that doesn’t integrate with Dimensions CM?
I have good news for you. Dimensions CM team has recently released Dimensions CM Git Client and Git Client Extensions for the most popular IDEs.
What is Dimensions CM Git Client? It’s a software installed on top of a standard Git, and it allows you to clone sources from Dimensions CM repository and synchronize changes back to Dimensions while still working with local Git repository. Every commit becomes a changeset in Dimensions, you may still use Dimensions requests, reviews and pull requests. Git Client is available on Windows, Linux and MacOS. The download link requires a login, but don’t hesitate to create an account and download – it’s free of charge.
What about Git Client Extensions for IDEs? Git Client extensions simplify clone, provide access to Dimensions requests, reviews and Micro Focus Pulse, and work together with Git Client to provide the best user experience in your favorite IDE. Extensions are available for IntelliJ-IDEA-based IDEs, Eclipse, Visual Studio and VS Code. IntelliJ plugin is available for download from the plugins repository, refer to SupportLine site to find other plugins. They’re also free of charge.
How does it work? It’s easy: Run Git bash, type
> git clone dimensions://stl-ta-vcw12-8/cm_typical@dim12/qlarius/mainline_vs_str/
Cloning into 'mainline_vs_str'...
Now sources from Dimensions are stored in a fully-functional Git repository. The URL is a source code locator in the remote Dimensions repository, its syntax is:
For the first time it’ll ask you to enter credentials to connect to remote server. It is recommended to use Git Credential Manager to store passwords securely.
Let’s do the same in VS Code:
View > Command Palette… > Git: Clone
View > Command Palette… > Dimensions: Clone
Connection string: dimensions://stl-ta-vcw12-8/cm_typical@dim12/qlarius/mainline_vs_str
Now pick stream to clone, then pick path > Select > Open
Voila! The repository is cloned and opened in VS Code
How to synchronize?
It’s the same as you usually do for Git, commit and push:
> git add -A && git commit -m "Making changes"
> git push
If you wish to use a request:
> git add -A && git commit -m "Making changes with a request [qlarius_cr_35]"
> git push
Note the request ID in square brackets [qlarius_cr_35] - this instructs Git client that you want to relate a request to a commit. When the changes are synchronized to Dimensions this commit becomes a changeset with request QLARIUS_CR_35.
Run git pull to update changes from Dimensions repository. Every Dimensions changeset becomes a commit in your local Git repository.
From VS Code it’s even simpler:
Go to View > SCM
Note that there’s Dimensions Request section > Press Set Default Request > Pick the request from your inbox > The request is added to the commit message
Now review and stage the changes, add a comment and hit Commit. Press Synchronize Changes at the status bar to synchronize with a remote repository.
To open the request in Pulse select:
View > Command Palette… > Dimensions: Open Request
The Pulse request page will be opened in a browser window. You can view request summary, action the request to a new state or update request attributes.