The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,708 other followers

Archive for the ‘Source Code Management’ Category

git add remote with tracking

Posted by jpluimers on 2019/08/27

Since I keep forgetting this and the top search for “git remote add” “tracking” do not answer it (see for instance …):

git remote add gitlab -t master

This adds a new gitlab remote on the repository path tracking branch master.


Posted in Development, DVCS - Distributed Version Control, git, Source Code Management | Leave a Comment »

PlasticSCM console

Posted by jpluimers on 2019/08/09

The cm.exe by default is not on the path, even though it is a useful tool.

Some links on it:


One drawback: the cm.exe is slow in startup, likely because it is a .NET executable needing quite a few assemblies to load:

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.1 Tools\CorFlags.exe" "C:\Program Files\PlasticSCM5\client\cm.exe"
Microsoft (R) .NET Framework CorFlags Conversion Tool. Version 4.7.2558.0
Copyright (c) Microsoft Corporation. All rights reserved.

Version : v4.0.30319
CLR Header: 2.5
PE : PE32
CorFlags : 0x1
32BITREQ : 0
Signed : 0

Finding stuff

I get a feeling that there is quite a bit of cm functionality either undocumented, or hardly documented.

For instance, copying a title from the PlasticSCM GUI does not mean it will work as a cm command.

Despite the documentation indicating

When you run queries using comparison operators (>, <, >=, <=) from the command line, remember that the shell considers these operators as IO redirections, so you will need to enclose the queries with quotation marks:
cm find "branches where owner='pablo' and changesets >= '2013/03/01'"

you have to be really careful where to put the starting double quote: it has to be after the find command:

  1. Example 1
    • Title
      User query: find changeset where branch='/main/test/My Branch Name' on repository 'Projects@ssl://' (22 Items - 0 selected)
    • Failure
      "C:\Program Files\PlasticSCM5\client\cm.exe" "find changeset where branch='/main/test/My Branch Name' on repository 'Projects@ssl://'"
      Command 'find changeset where branch='/main/test/My Branch Name' on repository 'Projects@ssl://'' not found. Type cm showcommands to get a command list.
    • Success
      "C:\Program Files\PlasticSCM5\client\cm.exe" find "changeset where branch='/main/test/My Branch Name' on repository 'Projects@ssl://'"
  2. Example 2
    • Title
      Changesets /main/test/My Branch Name@Projects@ssl:// (4 Items - 1 selected)
    • Failure
      "C:\Program Files\PlasticSCM5\client\cm.exe" find "Changesets /main/test/My Branch Name@Projects@ssl://"
      Error: unexpected char: '@'
    • Success
      "C:\Program Files\PlasticSCM5\client\cm.exe" find "Changesets where branch='/main/test/My Branch Name' on repository 'Projects@ssl://'"

This means that changeset can be Changesets: it is case insensitive and has multiple aliases. It looks similar to commands I used in my days of using Rational ClearCase – Wikipedia

I need to find out how to translate a non-query title into a query one. That will make it a lot easier to go from PlasticSCM GUI to the cm.

No XML documentation

The cm find command has a cool parameter --xml, which dumps the output in an XML tree.

My original goal was to see if I could turn the XML into something like Markdown or RST, using an XSLT transform like these:

For those transforms, you have to know how the input XML is structured. However, this information is undocumented.

When asked, PlasticSCM indicated there is no XSD for it claiming it was “super simple export to XML”:

[WayBack] Plastic SCM on Twitter: “No XSD, I’m afraid. Just super simple export to XML.… “

I hoped the elements were just uppercase versions of the output below, but they are not. Bummer.


Read the rest of this entry »

Posted in Development, PlasticSCM, Power User, Source Code Management | Leave a Comment »

Some git versus PlasticSCM comparisons

Posted by jpluimers on 2019/08/01

Via a co-worker:

In my own experience, PlasticSCM needs a lot of work, especially on the usability side:

  1. PlasticSCM call themselves a DVCS, but in order to have a local full repository like all other DVCS systems, you have to run a local server (and a license for it, I still need to sort out if that is free or paid). For the DVCS definition, see Distributed version control – Wikipedia. This means you run a client, a local PlasticSCM server and a remote PlasticSCM server.
  2. Despite there being a CLI version (more on that in a future post), the GUI does not show the exact CLI syntax for commands (unlike most git tools that do). This means you need to think thrice when translating them from GUI to CLI, made even harder by most UI access paths having different ways to copy their information to the clipboard.
  3. When you run the Plastic SCM GUI client long enough, even on a small repository, you will get errors about not enough quota being available (the dreaded 0x718): [WayBack] System Error Codes (1700-3999) | Microsoft Docs ERROR_NOT_ENOUGH_QUOTA 1816 (0x718): Not enough quota is available to process this command.
  4. Often after scanning for changes, you see a lot of changed files. If you click each file, you see  “Files are identical”

    • As a result you have to perform “Undo Unchanged”:
    • I never have this when using git.
  5. Online PlasticSCM hosting parties, especially integrated with bug tracking, are far and few between: besides [WayBackPlasticSCM cloud, I have not found any. Take the git world, or even the Mercurial world and there are far more choices (yes I know about the manual labour involved setting it up described at [WayBack] Plastic SCM version control · Task and issue tracking systems guide and [] Plastic SCM blog: Integrating Plastic SCM with Trac Issue Tracking).

One thing that baffled me is that you can edit commit messages. Changing them does not result in another commit. This means that these are not set in stone which is very odd when you see all changes in the commit history.

[] Are check-in comment editable?


The commit message textbox is editable, start typing and then push save. :)

I realized that in the Branch Explorer one can edit them using the procedure you’ve described, but if you open a changset from “Changesets” or somewhere else, the comment on the top is readonly. Maybe it would be nice to be have a way to edit it there, though I guess, it would be a rarely used feature.

At the changesets view you are also able to do it by cliking in the “Show extended information” button.

I’m afraid that this are the only spots to do it.


Posted in Development, DVCS - Distributed Version Control, git, Source Code Management | Leave a Comment »

How to test if an executable exists in the %PATH% from a windows batch file? – Stack Overflow

Posted by jpluimers on 2019/06/20

I needed a solution inside a batch file for git similar to [WayBack] How to test if an executable exists in the %PATH% from a windows batch file? – Stack Overflow which became this:

where /q git || echo Cound not find git on the PATH %PATH%. && goto :eof

I could have expanded this to find the install location, but for now this is sufficient.

When it is needed, I should read [WayBack] Programmatically (not manually) finding the path where Git is installed on a Windows system – Stack Overflow


Posted in Batch-Files, Development, DVCS - Distributed Version Control, git, Scripting, Software Development, Source Code Management | Leave a Comment »

Githunt – Chrome Web Store – discover new github projects in your technology area of interest

Posted by jpluimers on 2019/06/10 Githunt – Chrome Web Store: Replace the new tab with a list of trending repositories on github belonging to any technology that you chose.

More information: [WayBack] How to get trending GitHub projects in your Chrome new tab screen with GitHunt


via: [WayBack] This is how I discover new and interesting open source Delphi/Pascal projects – install Githunt and it replaces my ‘new tab’ page, there I set the langu… – Edwin Yip – Google+

Posted in Development, DVCS - Distributed Version Control, git, GitHub, Software Development, Source Code Management | Leave a Comment »

%d bloggers like this: