Search code examples
gitlabsynchronizationclearcasemultisite

Clearcase multisite vs Gitlab.... anything?


The company I work for uses Clearcase, even though it was EOL'd on the platforms in which we run it years ago. It is ancient and fragile tech, but one thing it does have is a multisite support that allows for the synchronization of air-gapped repos. Because of security issues, we use secure USB sticks to copy packets and take them to the other side, then apply them with scripts.

Developers and DevOps people want to make a business case to migrate to GitLab, but I cannot find any mention of a feature in GitLab that would allow me to do easily do this. There's something about bundles, but the info I have found is years old and it doesn't seem like too many people are using it.

Does GitLab not support this? Simple synchronization of one repo to another over an air gap using some sort of secure media? If so, it's no wonder so many teams are still using ClearCase.


Solution

  • While not exactly easy, air-gap updates of Git repository is possible through the git bundle command.

    It produces one file (with all the history, or only the latest commits for an incremental update), that you can:

    • copy and distribute easily (it is just one file after all)
    • clone or pull from(!)

    This is not tied to GitLab, and can be applied to any Git repository.


    From there, I have written before on migration from ClearCase to Git, and I usually:

    • do not import the full history, only major labels or UCM baselines
    • split VObs per project, each project being one Git repository
    • revisit what was versioned in Vobs: some large files/binaries might need to be .gitignore'd in the new Git repository.

    You would not "migrate views": they are just workspace (be it static or dynamic). A simple clone of a repository is enough to recreate such a workspace (static here).