Jump to content

The release management with the PlasticSCM


MikeK

Recommended Posts

Hello.

I evaluate the PlasticSCM and I try to invent a trunk-based development and release management with it. I see the release management and the development as the separate repository for every separately versioned component that I have with top-level branches for the release management. So, I have component AAA trunk (I have to rename the default main branch because the development is trunk-based and not main-based) and AAA1.0 top-level release branch. I do not know if I do it right (as it is expected with the PlasticSCM) but so far, it is good for me.

The problem is that I find PlasticSCM workspaces a kind of cumbersome to handle AAA trunk I develop and AAA1.0 I support/maintain. I have gotten used to have separate workspaces to handle such situation in Perforce so I can have and, say, debug XXX/AAA/trunk and XXX/AAA/AAA1.0 simultaneously (I run two debuggers at the same time literally) and I am absolutely sure XXX/AAA/AAA1.0 will never contain trunk and vice versa. PlasticSCM binds the workspace to the repository. And it binds the workspace not to a concrete branch within the repository (it is always trunk indeed). So to be able to repeat the trick with the two debuggers I need to be very attentive while creating two workspaces and then switching them to the appropriate branches. I see that switching the workspace to a different branch may be useful for what you call child-branches but for a top-level branch, personally I would prefer a path on my filesystem that would never coincide with another top-level branch location.

But probably there is another, better way for the release management with the PlasticSCM than top-level branches.

--

Mike

P.S. And your arrows in the branch explorer are almost the blocker for me. I have read your explanation but I do not care if graphs are acyclic or not – I see the arrows as the dataflow and the fact that some of your arrows are the directions of the graph edges and the others (merges) are the dataflows hurts me nearly physically.

Link to comment
Share on other sites

1 hour ago, MikeK said:

And your arrows in the branch explorer are almost the blocker for me. I have read your explanation but I do not care if graphs are acyclic or not – I see the arrows as the dataflow and the fact that some of your arrows are the directions of the graph edges and the others (merges) are the dataflows hurts me nearly physically.

Couldn't agree more.

I initially thought "there must be a good reason for that choice" as I was a self taught user of version control with limited experience, and two years later, I'm still bothered by it.

Even if there is an explanation, most beginners will be confused by it and will lose time searching for what they misunderstood.

Link to comment
Share on other sites

Hey, the team will answer the bigger thread, but regarding the arrows:

  • Some people find it bad, most not, so we are not in a good position to change it, I'm afraid.
  • We have a setting (Windows only) to reverse the arrows and put them Git-like (which I find horrible, all pointing to parent). Maybe Carlos can share how. It is in a release note somewhere.

Just for the sake of completeness, the link to the explanation of the merge arrows is here: https://www.plasticscm.com/book/#_arrow_direction

Link to comment
Share on other sites

I think this is the setting Pablo is refering:

 

Quote

 

Available now in Plastic SCM 4.1.10.443!

A new configuration option has been added to display the changeset
arrows in the Branch Explorer from parent to children (instead of the
opposite, which is the default behaviour). In order to use it the user
must add the following line in the branchexplorer.cfg file:

display.options.show_parent_to_child_arrows=true

 

Regards,

Carlos.

Link to comment
Share on other sites

I thank you for your quick replies.

I do see the UTF16LE strings “branchexplorer.cfg”, “dag_mergelinks” (the only one that mentions your docs referenced above) and “show_parent_to_child_arrows” in PlasticSCM\client\plasticgui.dll and PlasticSCM\client\plasticnet2.dll, so, I have double checked it that it is branchexplorer.cfg and not branchexplorer.conf, but it does not work. I have put the branchexplorer.cfg into the client directory.

Link to comment
Share on other sites

 

23 hours ago, calbzam said:

I think this is the setting Pablo is refering:

 

Regards,

Carlos.

I tried it and it didn't work either.

Even if it did, it wouldn't be a good solution as the people who need it the most are beginners who are also the least comfortable to edit .cfg files that could break the software.

 

Link to comment
Share on other sites

Hi @Marc S I have just tested it and it work fine for me:

image.png

 

I changed the display.options.show_parent_to_child_arrows to true at the $WKS_PATH\.plastic\plastic.branchexplorer file.

1 hour ago, Marc S said:

Even if it did, it wouldn't be a good solution as the people who need it the most are beginners who are also the least comfortable to edit .cfg files that could break the software.

You are right. We didn't make it a preference because it's not that common to change the arrow direction.

  • Like 1
Link to comment
Share on other sites

Thanks @manu , I made it work.

I was editing the wrong file (branchexplorer.cfg) instead of the file in the local workspace.

For those who want to change it, you need to close plastic, change the line from false to true and start plastic again.

1 hour ago, manu said:

We didn't make it a preference because it's not that common to change the arrow direction.

It would if it was an option. ^^'

I'd have done that two years ago if I knew how.

Link to comment
Share on other sites

2 hours ago, Marc S said:

Thanks @manu , I made it work.

I was editing the wrong file (branchexplorer.cfg) instead of the file in the local workspace.

For those who want to change it, you need to close plastic, change the line from false to true and start plastic again.

Cool! 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...