Giter VIP home page Giter VIP logo

git-mirror-sync's Introduction

GIT AUTO MIRROR

Status

The replication seems to be working well - but there currently isn't any locking taking place. I wonder if there is any way I could do this within the git protocol and keep everything protocol agnostic? A special branch containing a single ''lock'' file?

Situation

Imagin you have three teams around the world all working on the same project. For performance reasons and local management etc. they all need a local central repo to aid sharing between devs. BUT we want to keep these local repos upto date and more importantly the team that manages those servers don't want to deal with merge conflicts etc. - thats a devs job.

So the hooks within this repos allow you to do this:

----------                                      ----------
| Team A | <----------------------------------> | Team B |
----------                                      ----------
    ^                                               ^
    |                                               |
    -----------------------  ------------------------
                          |  |
                         \/  \/
                       ----------
                       | Team C |
                       ----------

AND when anyone commits/merges/pushes to master on any of the "local repos" they automattically push the changes to the other "local repos". This could still give raise to merge conflicts though - so before the commit is even accepted locally (at the orginating "local repo") - its locks the other repos to prevent a simultaneous commit breaking everything!

How to use

Have a look in ''setup_test.sh'' - it setups up three repos (like the diagram above) and then commits to one of them and checks it made it across. TBH its pretty simple if you're familiar with git.

Important

Nobody should manually push changes directly into the sync branch - its very important master and sync stay in lock-step.

git-mirror-sync's People

Contributors

farproc avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.