Jump to content

All Activity

This stream auto-updates     

  1. Yesterday
  2. I will Just one option which I am missing in Multibranch for Git. In contrary to GIT in PlasticSCM finished task branches are not deleted (it is not even possible to delete them). So it should be possible to define additional condition for Multibranch (e.g. last commit date) which will allow Jenkins branch indexer remove finished branches. Additional observation which I have is that GIT plugin always executes builds for each commits in the branch. So if 3 commits are added during build (and concurrent builds are disabled) than three builds in row are quued. In case of longer builds (in my projects it usually takes around 15-20 minutes) I would prefer to just jump to last commit/changset - skipping up to 5 builds is not an issue for me (even if one these commits introduced a bug - it is pretty limited set to investigate).
  3. TaylanK

    15+ sec lag on saving assets, all the time

    It is a dependency injection framework for Unity, called Zenject. The old behaviour was setting prefabs inactive before instantiation, to ensure proper injection/initialization order, then setting them active again. Starting with v6.0 Zenject uses a different workflow for prefabs so it seems this is no longer an issue.
  4. Hehehe we will see Keep tuned!
  5. manu

    15+ sec lag on saving assets, all the time

    Wow! Can you share with us the Framework used so if we see the same behavior in the future we can check if the framework is involved. Happy to know it's solved
  6. TaylanK

    15+ sec lag on saving assets, all the time

    Hi @manu Thanks for the link. It was helpful to see the logs as they helped me solve the issue on my end. Problem was a framework we're using with Unity, frequently manipulating prefabs as they were instantiated, causing Plastic to mark a large number of them as checked out. We were able to resolve it by updating the framework to a newer version that addresses that particular issue. Thanks & cheers, T
  7. Last week
  8. After deeper investigation I have spotted and issue in my Jenkinsfile (I tried to use the same as the one for Multibranch Pipeline at Git) - it was not an issue with PlasticSCM. After corrections of groovy script it looks to be working fine. Perfect. BTW what is a location of lightweight Jenkinsfile checkout? Could be helpful for debug You made me very curious with your last post. I am very interested in Multibranch support you mentioned. Hopefully this will be closer to "one month" rather than to "so"
  9. manu

    15+ sec lag on saving assets, all the time

    Hi @TaylanK, do you mind enabling the Unity log for the Plastic SCM plugin as it's explained here? Can you please also do the following? 0) Open a CLI window 1) "cd" to your Unity Project (cd c:\path\to\Unity\Dir) 2) Execute the following "cm status --all --ignored > result.txt"" 3) Share with us the "result.txt" file.
  10. Hi, We're using Plastic with a centralized cloud repo (v7.0.16.2192) and have started noticing big lag spikes every time we save any assets. Profiling the editor, I've found Task.Wait() call taking a good chunk of time and freezing the main thread while running, which seems to be related to version control. I am attaching a screenshot of the profiler. The lag spikes have been very frustrating so any help would be deeply appreciated.
  11. 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
  12. Travis

    GitSync and trial license

    Is gitsync supported using the trial license? I'm trying to evaluate plasticscm by testing connecting to my company's git server and doing a pull, modify, then push, but I can't seem to find the "Sync with Git" gui option in the "replication" menu option on the "branch explorer" tab. I've made sure to click on the branch instead of the changeset. I'm getting the menu I expect to see from the documentation, only the "sync with git" option is missing. I'm using a ubuntu build. I have included a gitsync.conf file in the $HOME/.plastic4 folder with an email-mapping. What am I missing?
  13. calbzam

    GitServer won't start / clone

    Hi, I'm sorry you are facing problems when configuring GitServer. - Let's set a custom path with write permissions in your server to generate the GitServer mappings. https://www.plasticscm.com/documentation/gitserver/plastic-scm-version-control-gitserver-guide.shtml # mapping storage - the mappings between git and plastic objects # the default path is automatically generated by the server storage.baseDirectory=e:\gitserver\mappings - Once we have configured the custom path, we need to restart the Plastic server service and check if the mappings are being generated there. - In any issue still persists, please attach the full "plastic.debug.log.txt" so we can review it and debug the problem. Regards, Carlos.
  14. I've spent a good 4 hours on this, and I'm at my wit's end. I got far enough that git *tries* to start, but fails. For a while, this was catching me up: 2018-06-15 22:52:39,797 GitServerRequest-8 ERROR Git - GitTcpServer caught an error Access to the path "/myUserName/.plastic4/gitserver" is denied. So I foolishly created a gitserver folder in my user's .plastic4 directory, and gave it rwx access to all users (because I think the issue is that plastic server uses a user called plasticscm, who didn't have access to a folder in my user's home). This did not solve the issue though, as gitserver now starts. However, when I try to clone, I get the following in my log: 2018-06-15 23:05:34,073 GitServerRequest-22 ERROR Git - GitTcpServer caught an error Sequence contains no elements
  15. Great! Thanks! The history and roadmap give me a trajectory and a comfort level that your introductory documentation doesn't give. So several TB repos with large user bases are just fine under Jet. Cool! I think it was the licensing structure that made me think the opposite. As you go from single user to team to enterprise licensing your support for large back-end storage solutions increases, leading me to believe that those solutions were required. Glad to know otherwise!
  16. Hi Travis, Short answer: you are good with Jet. It is the fastest. Long answer: * For years we developed SQL-based backends. We developed a SQL Server layer, MySQL, SQL Server CE, Firebird, Firebird Embedded (was the default for years), SQLite (quite good performance in almost every scenario except heavy load), even Postgres (never optimized it) and Oracle (the connector we used was super bad and we ended up removing support for it, although the code is still there). Why we did this? Well, when we started coding Plastic back in 2005 we didn't think like reinventing the wheel. We were busy enough coding merge algorithms, GUIs, merge tools, diff tools and so on. And working on storage too was like too much. We performed tests, tweaked things here and there, and decided a stable database layer was going to be the way to go, building on top of rock solid software. Also, it was hard enough to convince companies they could trust a new version control player, so telling them their data was safe on a standard SQL storage seemed like a good idea. * We never stopped optimizing database code. Things like bulk inserts in SQL Server, the equivalent on SQLite, better use of transactions, grouping inserts, temporary tables when doing many lookups... you know, everything we knew how to do or we learned in the way, we applied it. * Years later we denormalized some data in the database. We stopped storing "trees" (directory structures) in tables as such but as blobs, like regular data. Doing 100k inserts to do a checkin of 100k files wasn't fast enough. Blobs were much better. * Plastic was super fast already and we were able to consistently beat most version control competitors, specially under heavy load. * But at one point we started thinking: hey, how long does it take to save 500k revisions to disk? Nothing. If you serialize the data correctly it takes nothing. And it was nothing compared to several seconds in a database. And what about reading? If we read using "pointers" (we do C#, but we use pointer-based code for this) we achieved super fast speeds. I mean, nothing new under the sun, of course reading/writing to disk is faster than doing the same on a database. But the database is reliable, rock solid, transaction aware, generic for all kinds of data... * Finally some of our biggest customers in games had huge repos with 5-8TB in size, hosted in MySQL, and it started to say "enough". Some small issues here and there in MySQL, random slow downs. * So we said: ok, we have been around for 11+ years, we covered the basics, we developed a bunch of tools, it is not 2005 anymore, we are not starting... let's go for our own ad-hoc storage. And we did it. And those 5-8TB repos were now handled like nothing. Literally nothing. * Then we started moving all our major customers to Jet. Some of them have +1000 users on Plastic/Jet. They are much happier than when they used SQL Server. Easier admin, much faster performance, much faster backups. * So we decided to make Jet the default. So, did we discontinue SQL-based backends? No. We'll we do it in the future? Likely. Reducing the code base is always good, and focusing our performance efforts on Jet is better than trying to make 7 different database backends faster. Ok, hope I answered your question 😉 pablo
  17. Hi, I am setting up plastic scm for the first time to help with a unity project. We have just a small team of developers ( about 5-10 ) and 5 artists. I'm looking for trade-offs and best practices for using jet as a backend vs using a RDBMS (i have team licenses, so mysql). When does it make sense to use jet and when does it make sense to switch to a RDBMS. Would you only evaluate with jet or use it for individuals and switch to mysql for a central server for the group? Or can jet recommended for groups up to a certain size? Is the data safer from corruption using a RDBMS with multiple users? Is one faster? I'm sure there is documentation on this, but I can't find it. Thanks for any help and suggestions.
  18. Hi Xorcist, If you want to completely remove all Plastic SCM packages, I recommend you to run this command: sudo apt-get remove --purge plasticscm-* That way you make sure all Plastic SCM packages are removed. Otherwise, removing plasticscm-complete would only remove that particular package (apt-get remove doesn't remove dependencies), which is just a metapackage to install all plasticscm-* stuff. You can then manually remove /opt/plasticscm5 and /var/lib/plasticscm, which are the directories where the binaries and database are stored. Of course, backup your data first! (Unless you explicitly want it to be gone) Is this helpful for your situation? Thanks! Regards, Miguel
  19. Hi community! we solved this issue trough the support email. At the end of the day the issue was that the certificate password was not updated at the "remoting.conf" file. Both the certificate and the password can be changes using the WebAdmin interface or directly modifying the "remoting.conf", if you choose to directly modify the "remoting.conf" remember to encrypt the password using the "cm crypt" command. This is how the WebAdmin SSL section looks like: We'll try to improve the system in order to avoid the startup failure when the SSL password is not correct. Thanks @Ray for reporting the issue.
  20. I'm not a Linux guru by any measure. I'm comfortable from an advanced user standpoint, but I'm not near the level to answer my own question. So... I followed the wrong instructions (Debian) when installing Plastic on my Ubuntu machine. Everything appears to work, but I was wondering what the process was for removing Plastic and re-installing it properly (and if the Debian release was actually any different than the Ubuntu release, dependencies etc.). For instance, would it be safe to sudo apt-get purge plasticscm-complete or should I just use sudo apt-get uninstall plasticscm-complete? I'm mostly worried about dependencies, etc. My core goal here would be to blow Plastic away completely and start for scratch, pointing to the correct package repos this time obviously.
  21. calbzam

    cm find common ancestor

    Hi, https://git-scm.com/docs/git-merge-base git-merge-base - Find as good common ancestors as possible for a merge *DESCRIPTION git merge-base finds best common ancestor(s) between two commits to use in a three-way merge. One common ancestor is better than another common ancestor if the latter is an ancestor of the former. A common ancestor that does not have any better common ancestor is a best common ancestor, i.e. a merge base. Note that there can be more than one merge base for a pair of commits. - According to the documentation, the command gives you the best common ancestor between two changesets. I guess this operation makes more sense to be run to check the base before running a merge. In Plastic, if you run the following command you can get the similar information before running a merge : C:\Users\carlos\wkspaces\mywk>cm merge cs:14 --printcontributors Changeset origen: cs:14@default@localhost:8084 (Branch /main/task005) Destination changeset: cs:16@default@localhost:8084 (Branch /main) Ancestor changeset: cs:12@default@localhost:8084 (Branch /main) - In Plastic, if the merge has been already performed, you can still switch your workspace to the parent changeset of the merge result. This way, you can simulate the same merge and get the common ancestor again running the same previous command. - This is the most similar command to "git merge-base" in Plastic. Best regards, Carlos.
  22. sgrassie

    cm find common ancestor

    @calbzam, sorry to be a pain, but that's not showing me what I want to see. Not sure if it's because I'm on an older version (6.0.16.1765) of Plastic or not? Essentially my question can be reduced down to (and I should probably have asked it like this in the first place): Is there a cm equivalent to: git merge-base br1 br2
  23. calbzam

    cm find common ancestor

    The "--printcontributors" parameters show the merge contributors. If you want to get the parent of a specific changeset, you can use the second command. Regards, Carlos.
  24. sgrassie

    cm find common ancestor

    Hi @calbzam thanks for your reply, Doing 'cm merge cs:42 --printcontributors' seems to give me what it thinks will happen. I was actually hoping that I would be able to find the common ancestors of merges that have already happened, and thus find the changesets. thanks
  25. calbzam

    The new tree cannot be built

    Hi, Could you reach us at support@codicesoftware.com ? We may need to arrange a gotomeeting session with you. Regards, Carlos.
  26. calbzam

    cm find common ancestor

    Hi, - In the blog post, we talk about the common ancestor between the source and destination changeset in a merge operation. When you run a merge "cm merge --help", you can use the "--printcontributors" parameter to show the contributors including the common ancestor (base). --printcontributors Prints the contributors (base, source and destination). - If you actually just need to get the parent changeset, you can use "cm find changeset where id=123 --format={parent} You can also use the "returnparent" field. Please check the details at: https://www.plasticscm.com/documentation/cmfind/plastic-scm-version-control-query-system-guide.shtml#Chapter3:Changesets Best regards, Carlos.
  27. calbzam

    Can't add item

    Hi, Thanks for the update! Regards, Carlos.
  1. Load more activity
×