Who we are

We are the developers of Plastic SCM, a full version control stack (not a Git variant). We work on the strongest branching and merging you can find, and a core that doesn't cringe with huge binaries and repos. We also develop the GUIs, mergetools and everything needed to give you the full version control stack.

If you want to give it a try, download it from here.

We also code SemanticMerge, and the gmaster Git client.

Move changesets to a different branch

Thursday, November 24, 2016 Pablo Santos 2 Comments

Release BL793 (short of – BL means baseline) brought a great new feature: moving changesets to a different branch! This way we close the Top-1 User Voice request from our users.

Do you know when you are working on something, you checkin, and then you realized you made the checkout on the wrong branch? Like directly on “main” instead of your task branch? Painful, uh?

Well, now the pain is gone, watch how simple it is to solve the issue:

Available on OS X, Linux and Windows, and also from the command line using the refurbished “cm changeset” command.


Pablo Santos
I'm the CTO and Founder at Códice.
I've been leading Plastic SCM since 2005. My passion is helping teams work better through version control.
I had the opportunity to see teams from many different industries at work while I helped them improving their version control practices.
I really enjoy teaching (I've been a University professor for 6+ years) and sharing my experience in talks and articles.
And I love simple code. You can reach me at @psluaces.


  1. nice feature!
    pity that if you have xlinks, the next commit you make goes to the branch you moved from
    and then when you try to merge you have "pending xlinks" which you cant merge (unless you merge them to a helper branch and then cherrypick)

    1. Hi!

      for the proposed scenario you will be able to succeed if you do the following:

      (being the global repository the one having the xlink)

      1)Using the global repository, move the changeset to the new or empty child branch.
      2)Using the xlinked repository, move the changeset to a new child branch with the same name you used at the global repo (not mandatory to use the same name but it's cleaner=
      3)Using the global repository, switch your workspace to the child branch and edit the xlink rules, set the source branch to /main/ChildBranchName and the destination branch to the xlinked repository branch name: /main/ChildBranchName. Check the change in.
      4) Continue working using the global repo and the child branch, once you finish your work you will be able to merge from the branch without any problems.

      Hope it helps!