Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


psantosl last won the day on January 15

psantosl had the most liked content!

Community Reputation

34 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. Hi David, First, thank you for taking the time to compile all this great feedback. I'm the CTO here at Plastic, so let me share with you some of the designs we have for the upcoming Code Review system. Our plan was to implement it last year, but we got swamped by a ton of other smaller but still important things. First let me share what we consider the keys of the new code review system: I'm copy/pasting from internal docu :-) And this is how the overall design of the review window and its elements look like. The key elements for Code Review are: Comments are now together with the diff (on a side panel). Comments have replies, so you can handle threads there. The key is that you can "ask questions" and "ask for changes". And then it is very easy to track if those questions were answered or if the actual changes where made, which is one of the things you wanted to see. How? You'll type a special comment with a mark saying it is a change request. Then it will be very easy to track if the change or question was answered, and double clicking will show you the right diff: When you checkin, you'll be able to select (or using a comment) the "change" you are addressing: Finally, we'll have a conversation tab, to discuss general things outside the diffs themselves: And you can review changeset by changeset too, not only entire branches, which is great IMO: The last thing will be "review scripts": And that's just the beginning. So, in summary: we have put together a bunch of ideas thanks to all the feedback we got and our own practice of code reviews. Now it is a matter of finding the time to implement this in an incremental way. We want to finish some key changes on the server, which will enable the next Cloud version (and also key for some huge customers we have with 3000+ seats). And we also have to improve the single branch workflow for developers on game teams... so it is not yet decided when Reviews are going to happen. pablo
  2. psantosl

    ignore.conf doesn't seem to work

    Focusing just on the .git => I think ignore.conf thinks "." means a file and its extension. Check this http://blog.plasticscm.com/2014/11/configuring-ignored-items-on-your.html just in case it helps. Otherwise we'll get back to you in a few hours.
  3. psantosl

    Improved "cm.exe" command output

    Thanks Rubén, I just wanted to follow up with this: In the last versions since you wrote this we released a few command line improvements trying to make the whole thing better. Small tweaks here and there but the goal is to really make a big change in a few weeks. Check for instance. We reviewed some on the CLI docu. Still work to do. The plan is to continue expanding the REST API. We are in the middle of a few things right now that keep us certainly busy, but we are really committed to make all these happen. Some of the big things we are on: Tons of improvements to the macOS GUI. We always get heads up from users telling it is not on par with Windows. Multi-process server for Enterprise setups. This is a big effort and we need it to circumvent some issues in Mono and as the basis for the next Plastic Cloud we are working on. (I could talk about this for hours but I will just keep it short). New Unity Plugin. Unity teams are key for us. We are working on a big new plugin (where, small and easy, but big effort).
  4. psantosl

    Can't get rid of a pending merge link

    Why you didn't just click on Undo in pending changes? Didn't it work? Can you tell us how you were able to switch branches after a merge? An scenario will help us fix the issue.
  5. psantosl

    Can't get rid of a pending merge link

    Hi, Yes, this is pretty normal: you have pending changes in your workspace, and one of the pending changes is a merge link. If you want to undo everything, undo the changes. Warning: you will loose the changes! It is not a good idea to switch to different branches with pending changes, that's why it is forbidden by default (you had to change a setting to allow you to switch branch with changes, it is only meant for really advanced users, because the usual is to run into trouble). So, what do you want to do with these changes?
  6. Yes, I think what you need is readonly.conf https://www.plasticscm.com/documentation/administration/plastic-scm-version-control-administrator-guide?term=readonly.conf#Chapter16:Configurationfiles
  7. 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?
  8. 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
  9. 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 ?
  10. 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
  11. psantosl

    Server-side merge and replicatewrite permissions

    I'm going to check but "replicatewrite" definitely shouldn't have nothing to do here ?
  12. 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
  13. 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
  14. 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/
  15. psantosl

    Double Branching (Branch Explorer)

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