The Wiert Corner – irregular stream of stuff

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

  • My badges

  • Twitter Updates

    • RT @AndSimonSaid: Mijn baas werkt thuis en vraagt me haastig via whatsapp dat ik haar om drie uur moet bellen. Lijkt best serieus dus om dr… 2 hours ago
    • RT @samgerrits: Precies een jaar geleden trok ik aan de bel om een ernstig besmettelijke SARS variant die ik "SARS 2.0" noemde. Om politiek… 2 hours ago
    • @CBoonacker Ik had een minder loodzwaar traject toegewenst. Kennelijk niet gelukt. Daarom veel sterkte. 2 hours ago
    • RT @locuta: Navalny is naar de gevangenis gestuurd waar eerder Magnitsky door de Russische overheid werd vermoord. Hij moet daar 30 dagen b… 2 hours ago
    • RT @claudiadebreij: Dit is zoooo South Park 🤪 ‘Just wanna let you guys know, this is THE sacredest place.’ 2 hours ago
  • My Flickr Stream

  • Pages

  • All categories

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

    Join 2,229 other followers

Archive for the ‘PlasticSCM’ Category

PlasticSCM memories

Posted by jpluimers on 2020/12/23

Spending most of your career as an independent contractor, you bump into a lot of toolchains.

Part of those toolchains usually involved (and by now surely should involve) version control for both development and infrastructure configuration management.

I remember PlasticSCM quite well.

The really good part is the branch overview (called Branch Explorer) in the PlasticSCM UI, as it is:

They also have frequent updates, which however are hard to discover because there is no built-in update mechanism that notifies you of them.

Those updates are badly needed, because I kept bumping into bugs. Which is odd, because I bumped into far less issues when using UI layers for SVN, TFS, Mercurial and git (SourceTree being a major exception, but they seem to have recovered from a long period of bad versions a few years back).

So here are some of my gripes, that might have been fixed by now.

Read the rest of this entry »

Posted in Delphi, Development, PlasticSCM, Software Development, Source Code Management, Versioning | Leave a Comment »

Plastic SCM blog: Unified diff of a branch

Posted by jpluimers on 2020/11/03

Too bad I bumped into this a long time after having been a regular PlasticSCM user: [Archive.is] Plastic SCM blog: Unified diff of a branch:

Learn how to create a custom action to run a unified diff operation for a Plastic SCM branch.

It is an open source tool called unifiedbranchdiff.exe at github, and seems based on a cm path for getting paths, and cm patch for generating the actual patch, and needing external GNU tools diff and patch (hopefully it also works with more recent versions than the woefully outdated 2007 Win32 versions of [WayBack] DiffUtils 2.8.7 for Windows and [WayBack] Patch 2.5.9 for Windows).

Related:

–jeroen

 

 

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

Configuration files – Installation and configuration – Plastic SCM Community

Posted by jpluimers on 2020/06/09

The PlasticSCM GUI does not allow you to edit the paths of Workspaces (you can either rename a workspace or delete edit; no other editing options are available).

Luckily you can do this by hand editing the configuration files in %LocalAppData%\plastic4, though this is largely undocumented

Some of those configuration files are explained in [WayBack] Configuration files – Installation and configuration – Plastic SCM Community, but plastic.workspaces is not, so here are the steps:

  1. Quit the PlasticSCM GUI
  2. Backup  %LocalAppData%\plastic4\plastic.workspaces
  3. Open %LocalAppData%\plastic4\plastic.workspaces
  4. Be sure to leave the tab delimiters in place
  5. Be sure to keep lowercase drive letters (despite Windows being uppercase, Plastic insists on lowercase)
  6. Edit the right middle column (Workspace name) or right column (Workspace directory)
  7. Start the PlasticSCM GUI
  8. Verify the changes are correct
    • If they are not, restore %LocalAppData%\plastic4\plastic.workspaces

If you had “Pending changes” or “Queries” (or filters) on the repository, you also have to change these configuration files:

  • pendingchangescomments.conf
  • queries.conf
  • plastic.uisettings.conf

If you had it selected as current workspace, then you also need to change client.conf , especially the CurrentWorkspace element, as it does not contain the workspace name, but the workspace directory.

Note that sometimes this fails, giving you strange behaviour like [WayBack] “WorkspaceInfo cannot be null” message when moving workspace – General – Plastic SCM Community

–jeroen

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

How can I view a file in the @plasticscm webUI? I tried from changeset view, but clicking on a file does nothing. When looking in the Chrome developer tools, I see an error 500 which is not surfaced to the UI.…

Posted by jpluimers on 2019/11/04

For my history: [WayBack] Jeroen Pluimers on Twitter: “How can I view a file in the @plasticscm webUI? I tried from changeset view, but clicking on a file does nothing. When looking in the Chrome developer tools, I see an error 500 which is not surfaced to the UI.…

Images:

–jeroen

Read the rest of this entry »

Posted in Development, PlasticSCM, 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:

Slow

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
ILONLY : 1
32BITREQ : 0
32BITPREF : 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://plastic.example.org:8088' (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://plastic.example.org:8088'"
      Command 'find changeset where branch='/main/test/My Branch Name' on repository 'Projects@ssl://plastic.example.org:8088'' 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://plastic.example.org:8088'"
  2. Example 2
    • Title
      Changesets /main/test/My Branch Name@Projects@ssl://plastic.example.org:8088 (4 Items - 1 selected)
    • Failure
      "C:\Program Files\PlasticSCM5\client\cm.exe" find "Changesets /main/test/My Branch Name@Projects@ssl://plastic.example.org:8088"
      Error: unexpected char: '@'
    • Success
      "C:\Program Files\PlasticSCM5\client\cm.exe" find "Changesets where branch='/main/test/My Branch Name' on repository 'Projects@ssl://plastic.example.org:8088'"

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.… “

https://twitter.com/plasticscm/status/1039842761304940544

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

–jeroen

Read the rest of this entry »

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

 
%d bloggers like this: