Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


psantosl last won the day on April 20

psantosl had the most liked content!

Community Reputation

33 Excellent

About psantosl

  • Rank
    CTO - Plastic SCM

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Interests
    plastic plastic plastic...

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Well, all the issue is exactly what the message says: your server is configured to use Active Directory, but yours is a Team Edition license, not an Enterprise Edition. Makes sense?
  2. psantosl

    remove unused local files

    Hi, Do this: From command line cm lrep --format=TABLE => will give you a list of your repos, including and ID. You can delete repos you don't use with cm rmrep. Remember the IDs of the repos you removed This m rmrep (or delete repos from GUI) "unlinks" the repos from Plastic, but doesn't really delete them from disk. You can now go and remove them from disk (or back them up first). pablo
  3. psantosl

    mergbots setup

    And yes, we must improve this, to make it easier to understand if things go wrong from the webadmin... we are on it ?
  4. psantosl

    mergbots setup

    Hi @Foxer You don't need an issue tracker nor a CI, Plastic can merge the branches back as soon as they get the right attribute (if I'm not mistaken, because we have different mergebots internally and it varies). If the mergebot doesn't start, check: \devops\logs under your Plastic SCM *server* installation. Check the trunkbot.*.log.txt. It will tell you why it is not starting. pablo
  5. psantosl

    Server-side merge and replicatewrite permissions

    I'm going to check but "replicatewrite" definitely shouldn't have nothing to do here ?
  6. psantosl

    Improved "cm.exe" command output

    Hi Rubén, Thanks for reaching out and for your heads up on the inconsistency of the command line. We are aware of the weak points in cm. The main reason is that we (and I'm the one to blame, so I should say "I") didn't really *design* the command line but mostly just added stuff as needed. In the last few years we started being really focused on really designing the whole thing, really thinking on the solution as a whole, you know, doing real product design. We now try to come up with consistent behaviors across the entire system. But the command line is still work in progress. So, any feedback on what you expect to make it better for automation will not only be welcome but it will serve as a starting point for an improvement. And since we are doing more than 1 release a week, you can expect updates coming soon. Now, onto the specifics: you can check our "CmdRunner" for more info on automation. https://www.plasticscm.com/documentation/cmdrunner/plastic-scm-version-control-cmdrunner-guide. While the cm can really be improved, it doesn't mean it is not fully tested. In fact, command line automation is a cornerstone of our testing system. Every single task that enters into a release goes through hours of unit testing, command line testing, and GUI testing. Command line testing (or smoke tests as we call them internally) are tests based on PNUnit (our extension to NUnit) that automate Plastic by running cm commands on Windows, Linux and MacOS. 800+ tests overall running on several combinations. And CmdRunner is what we use to run all these commands on a daily basis. It doesn't mean is perfect, but it is really what we use daily to write more tests (although I must say in the last years we focused more on NUnits than CmdRunner tests). Finally, the REST API comes as a complement of CmdRunner. The latter is C# based, and since we can't expect everyone to use the same framework we use, we came up with a REST API. The other alternative would be some sort of universal C library so that any language could wrap it (anything else wouldn't be really doable since C is still the most portable and linkable option). But since we don't write C but C# 99% of the times, the C path wasn't good. But invoking REST is something any language can do, so we decided to go for a REST API, even to invoke local actions like an update or a checkin. So, if there's anything specific you miss in the REST API, please let us know and we'll add it. Thanks! pablo
  7. psantosl

    Plastic Drive filecache

    Hey Jake, Yes, you are perfectly fine to remove the cache. What it does is save locally the contents of files, so the second time you mount your repo (a cset or whatever) it doesn't have to download from the server and it goes much faster. But, if you have been using it for a while, it can be caching tons of things you don't use anymore. We should implement some sort of auto-cleanup :-S Now, question for you: can you share how you are using it? Why do you find it useful, etc. Would be really valuable. Thanks, pablo
  8. The only thing that I'd point is that keeping things simple normally helps a lot. So even if you can reach 10-level nesting, I strongly doubt it is really worth. Remember we provide FREE 1-h sessions with product experts just in case you need to go through some details ? https://www.plasticscm.com/download/freetraining/
  9. psantosl

    Double Branching (Branch Explorer)

    I'll try to reach you to have a conf call about this and learn from your experience!
  10. psantosl

    Double Branching (Branch Explorer)

    Hi, Ok, branches track their head changeset, so they always know which one is the last on the branch. When you create an empty branch, its "head" points to the point where the branch is created from. So, on a regular branch, if you say "create child branch", it is created from the head. If you say "create from this changeset", then the "head" of the new branch points to this cset. It is a special situation because branches only contain changesets created inside the branch, but just during creation, when they are empty, their head points to a cset on a different branch. Now, you have an empty branch (doesn't contain any changeset) and you say: create branch from here. Well, it takes the head of the parent branch, but this head is on a different branch, because there is no changeset in there. So, it is not a bug, it is simply designed to work this way. I understand that, for topology reasons, it could be good to achieve what you want, but this is not what we really support, because branching is not meant to draw better graphics but to allow better workflows. What I mean? I mean that we strongly encourage to keep branch hierarchies as flat as possible, in fact, I have a pending blogpost to explain (both inside and outside) that: * Never merge between task branches unless you can't really avoid it => keep branches independent, it is better for CI flows. * Don't create child branches of task branches if you can avoid it => and normally it means *almost always*. * Keep your branch structure as flat as possible => we strive for trunk based development with task branches, so we try to avoid intermediate release/devel branches if possible. It greatly simplify things while still taking advantage of the super great task branches pablo
  11. psantosl

    CM CI force

    You mean skipping the merge???
  12. psantosl

    The item --- already exists

    Hey, Plastic can detect moves quite well but... it can't do magic, I mean it is based on some heuristics so if you moved TOO MUCH, maybe it is not able to pair the moves anymore. We have a feature to overcome this, which is a little bit experimental, but that could be perfect in your case (if you are in Windows): the Change Tracker Service: https://www.plasticscm.com/download/releasenotes/ tracker service An awesome new feature: Plastic Change Tracker service for Windows to precisely track file moves and renames beyond heuristic guessing. It is in experimental mode at this point. This new service takes advantage of the file system internals to precisely track file renames and moves, something we could only guess before (quite well, but just an heuristic after all). It means binary file renames and moves (where diffing does not apply) will be incredibly precise now. How to use it: * You need to install the new service: plasticchangetrackerservice.exe --installservice. Then you can start it with --start or simply going to the service control panel. * Use plasticchangetrackerservice.log.conf to configure log if needed. * Enable it in your client.conf creating a new XML entry named: UseChangeTrackerService, set it to YES. * Restart your client. * Changes will only be precisely tracked while your client is open. You can do the changes directly in Explorer, but you need the Plastic client to be opened. We plan to improve this later. * How do you see it is working? Well, every move won't be "moved locally" but just "moved" now because the change is applied immediately. Enjoy!
  13. psantosl

    The item --- already exists

    Hi, Any chances this directory is detected as new locally but it is indeed already in the server?? Are you on Gluon or regular Plastic? Thanks, pablo
  14. Hi, We recently released a few changes on the locking strategy, and yours sounds quite related. Can you double check you are on the latest release? (or very close to) Thanks, pablo
  15. psantosl

    GitSync and trial license

    Hi Travis, GUI support is Windows-only at this point, since most Linux users are hard-core CLI-only folks. You must use cm sync instead, I'm afraid :-S pablo