Jump to content

[Cloud] Pull/Push Vs Centralized workflow


Nozynski

Recommended Posts

Hi guys!

I've been using Plastic on windows (with Unreal) for over half a year and all was great, especially with Gluon, I could cooperate with our artists and desingers without a problem. Now we have Unity project and an artist is working on Mac. And I want her to have as little problems with source control as possible, so we decided to use Plastic Cloud, since from my experience it was very straightforward and simple "checkin-update" approach sounded great. First there was a message that Gluon for Mac is "coming soon". That's fine we thought, let's just both use vanilla Plastic. And all works great on windows, I could checkin and the artist saw my changes. But I couldn't see her commits. After some playing around I've found that it's a bit different on her side and she has a sync view (which I never needed). And then I realized that she has a branch (who knows how, she didn't create it on purpose, but I thought, ok, maybe that's just an accident). We've merged the branch and after doing a push (which I still don't understand why we had to do, since I've worked without this approach in the past) all seemed fine. But then when she tried to do a push next day she got a message that she can't because there will be conflicts. Then we made sure she doesn;t have pending changes (she had), commited, she got an update and suddenly she has a new branch again. So if we are to stick with using Plastic I would really like to know what can we do to avoid all this hassle. Cause we can't spend an hour every day figuring out problems like that.

Link to comment
Share on other sites

  • manu changed the title to [Cloud] Pull/Push Vs Centralized workflow

Hi @Nozynski,

I think you are having troubles because you are using the distributed workflow instead of the centralized one.

picture-dvcs-workflow-57e2c8f7[1].png

If you work distributed you need to first checking to your local repo and then push the change to the cloud in order to make it public. Conflict may occur if more distributed developers are using the same branch in a distributed way, check this guide to get more info: https://www.plasticscm.com/documentation/distributed/plastic-scm-version-control-distributed-guide.shtml It will help you to understand what are you doing and the solutions for the "problems" found.

On the other hand you can work with the cloud using it as a central server, that is using direct checkin/update, I think this is what you are looking for. You can switch from one mode to the other by just creating a new workspace working with the cloud repo.

What I don't understand is the new branches thing, you should't get new branches created, something like this is possible:

 double head.png

And it's caused when multiple people is pushing/pulling the same branch, you can understand this better using the doc above.

 

Link to comment
Share on other sites

Thanks, I think you are right, but what is weird for me is that like I said: on my computer I am working without pull/push, only checkin/update. The distributed scenario happens on artists mac by default, so I am looking for the simplest way to make her version work as mine (so "centralized" scenario).  So she has to create a new workspace for it to happen or is it possible to change it somewhere in the settings? And during worskpace creation when can you choose centralized vs distributed? Because I haven't seen an option like that.

Link to comment
Share on other sites

Hello @Nozynski,

that's something you actually choose when you start working with Plastic,  you have the ability to choose if you want to work with a local repository (pull/push workflow) or if you want to use a cloud repository (direct checkin and update).

For her to start working with the cloud and preserving the current workspace, she will need to do the following:

1) Checkin the pending change she has.

2) Push the penging local changesets to the cloud.

3) Run the following commands using the command line:

cd /path/to/the/workspace

cm switch br:/main@cloudRepoName@cloudOrganizationName@cloud

This should switch the current workspace to start using the cloud, after this the workspace will be able to directly checkin and update using the cloud as you do.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...