Jump to content

GitSync does not like replicated Plastic repos


Mikael Kalms

Recommended Posts

Hi,

I recently tried establishing a workflow where we publish one of our projects on GitHub. We would do the primary development in a repo in Plastic Cloud. The idea was that developers would replicate the Plastic repo to their local workstations, develop there, and then run GitSync to update the public version of the project.

However -- when using GitSync, Plastic will store the GUID of the first Plastic repo used in the Plastic repo's metadata. This information will then be uploaded to Cloud at the next push, and fetched by other developers when they pull. When the other developers attempt to use GitSync, they will get an error message:

The sync cannot start because the target repository was replicated from a repository synchronized with git. The repository originally synchronized is 'GitHubTest1@local - https://github.com/Kalmalyzer/PlasticGitHubTest.git'. Please contact support for further info.

This means that only the first developer who used GitSync can perform the sync.

Worse yet: if the developer deletes his repo and recreates it and replicates from Cloud, noone on the team can use GitSync any more.

 

Am I missing something vital here?

Link to comment
Share on other sites

Codice Software have confirmed that this is a limitation of the current GitSync implementation.

 

We have a problematic situation because of all these factors:

1. We are using Plastic Cloud and not Plastic Server

2. We have open source software as part of our main product

3. We have the open source portions in separate Plastic Cloud repos

4. We have xlinks from the main product Plastic Cloud repo to the open source Plastic Cloud repos

5. We use GitSync to sync between local Plastic repos and GitHub repos

6. We have more than one developer who wants to perform GitSync on (replicated versions of) the same Plastic repo

 

1+2+3+4+5+6 = we run into the above problem.

 

What we are going to do is, we will move to a GitHub-centric workflow for the open source software: Developers will work directly in Git, or, if they want to, they can create local Plastic repos and use GitSync to be able to work on the project using Plastic. These local Plastic repos will not be replicated anywhere, particularly not to Plastic Cloud. They can be considered throw-away repos; the source of truth will be the GitHub repo.

We will also stop using Xlinks. Instead, we will update the opensource projects within our product by copy & pasting in files. We will lose the detailed versioning in that step, but we avoid all the complexity that Xlinks bring.

Link to comment
Share on other sites

  • 1 year later...

Over a year later--

We have realized that another workflow that works, is to use GitSync between the GitHub repo and the corresponding repo in Plastic Cloud. That way, anyone on the team can perform the GitSync if necessary.

We have stopped using local repos; everyone works directly against Plastic Cloud. We notice no performance problems and collaboration is easier than when using a push-pull workflow.

We intend to explore using Xlinks again.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...