I am hoping that the wizards here can help me. I have used Mercurial in the past so I am familiar with the concept of a DVCS. However this is the first time I am using git with a slightly different workflow. Essentially it involves a hierarchical structure and possibly the use of mirror. The hierarchy I am hoping to get is as follows
Root Repo
^
|
|_____<MIRROR>______>Primary Repo
^
|
|________<CLONE>____> Developer
|
|________<CLONE>____> Developer
I would like to setup up the Primary Repo for two reasons:
- Location/Reduced bandwidth usage instead of every developer pulling/pushing from/to Root Repo
- Sanitise code through reviews and only approved code goes through to Root Repo
I have seen other workflows where Primary Repo becomes a sort of caching repo and everyone pushes to the Root Repo but this is not what I want. The other workflow I have seen is when everyone sends an email to the reviewer asking him/her to pull the changes but this is not yet feasible since the team is used to SVN and I want to keep it as familiar as possible.
What I tried till now:
- Clone the Primary Repo using mirror flag.
- Cloned from Primary Repo into local.
- Test modifications and then checked into local repo.
- Pushed code to Primary Repo.
- Pull from Root Rep (git remote update)
- git status now shows remote changes and mine are not visible
- Tried with a brand new clone of Primary Repo (does not show my changes)
I was wondering if this workflow is feasible (sounds like it should be). More probably I am messing up something. Any and all suggestions are welcome.