Jump to content

Anton

Members
  • Posts

    25
  • Joined

  • Last visited

Everything posted by Anton

  1. Spoiler: we still are going to use Plastic Cloud to store our raw assets in the cloud because we are all-remote. We've chosen Plastic for our team because it looked like a VCS which can handle code and binary assets in one repository. At that time I was happy using Git for code but I was not sure about non-programmers and I wanted something more simplistic conceptually for them rather than Git. One year passed. And it looks like our workflows where we use Plastic are more programmers-driven and programmers were not totally happy with Plastic. Here go biggest annoyances: 1. After we switched to Plastic this "Check Out" button appeared in Unity for every asset. Literally you cannot edit prefabs or script objects until you press this Check Out button, otherwise everything is grayed-out. The paradox is you have no this button in your source files (code) and everything works - why the hell you have to push it in Unity for every asset every time? 2. Branch Explorer is not readable at all compared to the common Git graph. You have no commit messages, you have to select a commit by hand to read its message in properties window. Branch names are poorly rendered too, do not try to zoom out. When you have 5+ people working in branches it becomes a mess. Finding a branch for merge is not as easy as in Git. I feel a real cognitive load when I do work with branches in Plastic. 3. Branches cannot be deleted. Think about it. (They say it is not a problem I do not agree. You have the Branches window and it displays an ever growing list of branches and sorting capabilities are limited.) 4. You cannot do partial commits or discards. I mean no way to commit only these two lines because you do not have a staging area (I found it an extremely useful concept in Git). 5. When you do a merge you cannot discard some changes (even files) because a guy who did the work failed here and there. 6. Plastic has lack of support in IDEs. The Rider plugin slows everything down and makes it unusable. While a couple of points are of "this is not a Git" kind - I can accept it. Some are just a poor design choices or bad UX and because this is a closed proprietary system there will be no other better GUI clients ever! A couple of words about moving away from the Plastic. It was pain in the ass too. It took almost a week of hacking to do fast-export right because Plastic exports a repository in a way which is not totally acceptable by Git. For example Git does not allow white spaces in branch names, Git has no operations for directories, Git has this concept of line-ending normalization while Plastic offers no rules for Line Endings and they become a mess. So it took a week from me to write and test python scripts to adjust our multi-gigabyte fast-export file for Git. But as I said in the beginning we still will be using Plastic and Gluon as a large affordable storage. Thank you Plastic for that! If you never used Git and you are a generalist or not a programmer and you like Plastic then stay with it!
  2. In case of an empty folder was moved or renamed `cm fast-export` generates incorrect file. Further use of `git fast-import` produces an error: fatal: Path XXX not in branch Simple repro: 1. Create empty folder 2. Move empty folder to a subfolder Then use cm fast-export, then git fast-import to observe the error. My real case was: 1. All files were deleted from a folder 2. And the empty folder was renamed P.S. I see this as a bug because cm fast-export output is not symmetrical. It contains no file modification commands for when empty directory was created in Plastic but contains file rename commands for when empty directories where renamed.
  3. I did a `chmod +x` for my shell script under Plastic SCM control but `cm status` reports no changes. Is it possible to have `execute permission` on files? How Plastic SCM works with file permissions?
  4. For macOS the "cm.log.conf" needs to be stored at:"/Applications/PlasticSCM.app/Contents/MonoBundle"
  5. Yes, it helped. Thank you Carlos!
  6. I am trying to enable cm.exe logging under macOS using this guide: https://www.plasticscm.com/documentation/technical-articles/kb-enabling-logging-for-plastic-scm-part-i It is not clear where should I put `cm.log.conf` I have tried these locations where cm and cm symlink are: /usr/local/bin /Applications/PlasticSCM.app/Contents/Applications/cm.app/Contents/MacOS Nothing worked for me. I've tried to reboot and then I try to execute `cm checkconnection` but log still is not there. Maybe not all cm commands are writing to log? I am trying to investigate TeamCity plug-in issues...
  7. For those who works under macOS - there is no TeamCity plug-in in macOS installation package of the Plastic SCM. You need to download a Plastic SCM for Windows to find the plug-in under the path specified above.
  8. I have a mac-mini with the TeamCity installed (server + one build agent). I have installed Plastic SCM client and configured with my credentials to access our Cloud repository. Command line `cm` tool works as expected. When I try to add New VCS Root to the TC project and to Test connection I receive a timeout error. Looks like Plastic SCM plug-in hangs trying to do something. I provide a TC thread dump below (nothing interesting in another logs). 2021-02-26_05.14.23-longRequest-1.txt
  9. Suddenly Plastic SCM stopped working for me - all pages are blank or loading infinitely. When I restart everything I have these errors: ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR MainForm - Error reading last RSS date: Файл 'C:\Users\Антон\AppData\Local\plastic4\rss.conf' не найден. ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR LogoCustomizer - Unable to retrieve http://www.plasticscm.com/externalcontent/logos/plasticscmlogo.png image, Недопустимый параметр. ERROR MainForm - An error occured disposing the leap motion controller: Could not load file or assembly 'LeapCSharp.NET4.0, Version=0.0.0.0, Culture=neutral, PublicKeyToken=6e1b1368e71eba9b' or one of its dependencies. Не удается найти указанный файл. ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR MainForm - Error reading last RSS date: Файл 'C:\Users\Антон\AppData\Local\plastic4\rss.conf' не найден. ERROR WorkspaceDataStore - Error reading workspaces file. Wrong line '' ERROR LogoCustomizer - Unable to retrieve http://www.plasticscm.com/externalcontent/logos/plasticscmlogo.png image, Недопустимый параметр. ERROR DiffStylesProvider - Can't load style ScrollViewerStyle ERROR PlasticPipe - Error happened trying to SSL to ColossiGames@cloud. Аутентификация не пройдена из-за закрытия транспортного потока удаленной стороной. ERROR PlasticPipe - Failed to negotiate remoting SSL with ColossiGames@cloud. Will try starting a TCP connection then switching to SSL ERROR PlasticPipe - Error happened trying to SSL to ColossiGames@cloud. Аутентификация не пройдена из-за закрытия транспортного потока удаленной стороной. ERROR PlasticPipe - Exception obtaining connection to ColossiGames@cloud. SSL negotiation with server ColossiGames@cloud failed. Аутентификация не пройдена из-за закрытия транспортного потока удаленной стороной. ERROR PlasticPipe - Error happened trying to SSL to ColossiGames@cloud. Аутентификация не пройдена из-за закрытия транспортного потока удаленной стороной. ERROR PlasticPipe - Failed to negotiate remoting SSL with ColossiGames@cloud. Will try starting a TCP connection then switching to SSL ERROR PlasticPipe - Error happened trying to SSL to ColossiGames@cloud. Аутентификация не пройдена из-за закрытия транспортного потока удаленной стороной. ERROR PlasticPipe - Exception obtaining connection to ColossiGames@cloud. SSL negotiation with server ColossiGames@cloud failed. Аутентификация не пройдена из-за закрытия транспортного потока удаленной стороной. A fresh installation of Plastic SCM fails to SSL to the cloud too.
  10. Thank you. Yes I understand. When I asked about allowing file Undo I talked about reverting file changes within merge changeset. I am not talking about excluding file revision from the merge or something like that. As a user I want a friendly button to cancel file changes quickly to save my time. But of course I can do it with my IDE and some copy-pasting.
  11. This does not help because we heave long living branch and we have multiple merges from this branch to the /main so the history line of a file consists of multiple branches. I think what will be helpful is an option to hide non integrated changes of a file.
  12. Hi Carlos, 1. If you want to have stable /main you should test AFTER the merge but BEFORE you checkin the merge because merging can introduce some regressions or other errors even if the branch tests pass. 2. Thank you for your example. But now consider that I am merging "/main/task001" and before checking-in I delete the "foo.txt" this is allowed isn't it? I think so. So it can lead to some misunderstandings later as you describe but this is my decision. So the question is if I can do any changes manually while preparing the merge why you do not want to assist me (I mean allow to Undo specific file changes)? I think this thread leads us nowhere so I guess I should adopt to this behaviour.
  13. I think "Create date" and "Changeset" are ordered equally. So this does not help. Usually when I explore file history I am interested in some history line and not all changes made everywhere in all branches.
  14. Assume someone worked in a branch and did some commits (created changesets). Then I am responsible for merging this branch into the /main. I do this merge and what I have is a lot of pending changes what is the sum of all changes in this branch. Right? I should review those changes and checking them what completes the merge and pushes everything to the server. Right? Now the common thing which happens is that I find some minor errors and (not to delay everything) I want to fix them by myself before I checking the reviewed branch. Sometimes I see that people commit something that should not be changed like an artist committing a change in a unity scene file. Do you understand? Maybe he was testing something I do not know but he should not touch scene files. So I do not want to dig deeper, what I want is to exclude the entire file from the merge. What I want is to do a single file undo from this pending changes and I do not care if this was changed in a branch. So when I worked with Git the process was the same. I have a local merge-commit and before I pull it to the server I can amend its content easily.
  15. Yeah, thank you Carlos. And this guys needs exactly what I need. Some people commited a trash (maybe some unintentional changes) I would like to do a cleanup or to ignore (undo) wrong things before I will do a check-in. I did that all the time when I worked with Git.
  16. Hi, I need to rollback my file to the previous revision but I am not sure how to do that: 1. History shows all revisions of a file in all branches and I am not aware what was the previous one. Changeset numbers do not help here because the nearest number is a version in an unmerged branch and not a previous revision in my history line. 2. Version tree has no "Revert to this revision" button and it is still not obvious what was the real previous revision of the file.
  17. Thank you Carlos! But this is a matter of UX (behind the scenes you can do anything you have to to comply requirements of your server). And it is still not clear why I can introduce new changes to the merge. I mean I can copy-paste old content of a file doing a manual revert, right? Why cannot you allow us to do the same thing in a straight forward way through undo?
  18. Why it is allowed to introduce new changes while merging but it is not allowed to undo existing changes from the source branch? Isn't it a non sense? I often want to revert some occasional changes while merging but I am lazy to switch branches for this.
  19. Okay, thank you! New plugin is not supported in 2020.1: "This plugin is not currently supported for editor versions 2020.1 and above on Windows. We are actively working on adding support for these versions"
  20. It happens everytime. So my environment: Unity 2020.1.2f1 (it was in 2019 too) JetBrains Rider 2020.2 (2020.1 too) - when you edit C# file and then switch back to the Unity editor it modifies the .meta Plastic SCM 9.0.16.4456
  21. How to prevent unchanged .meta files to be listed in Pending Changes? In my preferences I has "Check content (hash) when the file timestamp is modified..." CHECKED. And in Pending Changes options I has "Check the content to determine files are changed, not just timestamp" CHECKED too. But meta files are still marked as changed and can be wiped out with "Undo unchached" command succefully. What is going on?
  22. We are still adapting Plastic after switching from the Git so a lot of questions arise. What is the real benefit of pressing Check Out every time you would like to edit an asset (a prefab or a scriptable object)? We work in task-branches and merging everything into the main, so what for is this extra click on Check Out button? In what case I can prefer not to push Check Out button?
  23. We make a Unity 3D project so our repository root looks like: Assets/ Packages/ ProjectSettings/ ... Where do you store intermediate non-code assets like art sources (PSD files) etc. ? My current idea is to create folders like `Art/` or `Work/` nearby in the root.
×
×
  • Create New...