Donald Newlands Posted May 16, 2019 Report Share Posted May 16, 2019 Hi, We use Plastic SCM and Gluon with mostly binary Unreal Engine files: one machine in the studio runs SCM and the rest run Gluon. Several times we've had the same problem come up: SCM will claim that a merge (or branch) is required when checking in files, even when the changed files are not in any of the chagesets in the repository: On Monday, Machine A and machine B were in sync. On Tuesday, Machine A checks in a new version of file X using Gluon. On Wednesday, Machine B attempts to check in new versions of files Y and Z in SCM and we get a message that we need to merge files or make a new branch before we can check in! I have resorted to manually copying the changed files out of the project on the machine running SCM, doing an "undo", syncing the project and then copying the files back into the project!??? It seems inexplicable that Plastic SCM does not say which files are causing the conflicts when these message pop up or offer a simple way to resolve them (when in doubt, the files on machine B should take precedence, etc) -- I must be missing something obvious. Why would SCM be requiring a merge when there are no files in conflict as far as we know? (it would be super great if, when the "merge?" prompt comes up, Plastic listed the files that it thinks are out of sync. The last time I clicked "merge" to see what happens, it was super slow (binary files), file by file (no "skip all", etc) and gave me no better idea of why the merge was required in the first place. When it happened this evening, I made a new branch, which might be fine except now everyone in the studio using Gluon has to find the branch or I need to figure out how to make the merge work before they get to work... What is the recommended workflow for binary files in conflict? Should we branch and then merge the branch using "cherry pick"? Thanks for your help! -Donald Newlands Link to comment Share on other sites More sharing options...
calbzam Posted May 16, 2019 Report Share Posted May 16, 2019 Hello Donald, We have a few resources where we explain this scenario and how and why Plastic is handling it this way: - "Conflicts during checkin – working on a single branch" section where we explain detail what is an update-merge operation in Plastic: https://www.plasticscm.com/book/#_conflicts_during_checkin_working_on_a_single_branch - Why checkin asks to update first? --> In this blog post, we start explaining what is merge tracking and why Plastic uses by default per-changeset merge tracking. It's very important you review the "Conflicts on main – why does new files come to my workspace?" section to properly understand this behavior http://blog.plasticscm.com/2018/02/why-checkin-asks-to-update-first.html Note that is blog post is a bit old and still mentions that Gluon is not able to handle merges. Please avoid this part as some months ago we improved Gluon to solve file conflicts. - What is the recommended workflow for binary files in conflict? If you are using Gluon, we recommend using locks. This way, you can avoid conflicts with not mergeable files (binary). https://www.plasticscm.com/documentation/administration/plastic-scm-version-control-administrator-guide#Chapter7:Configuringexclusivecheckout(Lock) I know that some of these Plastic concepts are not trivial and I would like to offer you a GoToMeeting session where we can review and focus on your specific cases. You can reach us at support@codicesoftware.com to schedule it. Regards, Carlos. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now