Subject: Re: Git: How to keep multiple bare repos in sync?

From: chenxitwo <[email-masked]>
Date: Wed, 3 Jun 2015 09:55:21 +0800

Hi Konrad Scherer,
	Thanks for your reply.
 
	But git mirror is helpless for me.
	I have an idea about two repos' sync. However there is a problem with this is how to prevent other usrs' push operation.
 
	Details as follows:
	Team A, B have their own git server repos, respectively repos_A, repos_B.
	step1: The repos_A locking repos_B When repos_A received Team_A requests to push, and repos_B can't accept other users' push request. (use pre-receive hook)
	step2: After the repos_A is updated, the repos_A will send push request to the repos_B.
	step3: After the repos_B is updated, the repos_A will unlock the repos_B.
 
	Problem: How to lock git remote repos to prevent other usrs' push operation.

--------------
chenxitwo
>not remote sync.  
>
>We have three teams to participate in the same project, and is located in different places. Bandwidth that between the two of our teams is not enough. Three teams have their own git server. Like this kind of situation, how should handle?
>
>
>
>chenxitwo
>
>From: Junio C Hamano
>Date: 2015-05-13 12:37
>To: chenxitwo
>CC: git
>Subject: Re: Git: How to keep multiple bare repos in sync?
>chenxitwo <[email-masked]> writes:
>
>> There are three git server(bare repos), but i don't know to solve the
>> problem that how to keep these git servers in sync.
>
>rsync?
>
>The problem is under-specified.  Is there one of them that is
>authoritative and that the other ones should match its progress?
>If so, perhaps push from the authoritative one to the other two
>with "push --mirror" (or have the other ones "fetch --mirror")?
>
>If you are allowing people to push into any of them randomly,
>then there is no general solution.  If I push an update to 'master'
>of instance A while you update the same 'master' branch of instance
>B, somebody has to reconcile the divergence between the two by
>creating a merge, and that can possibly conflict, needing human
>intervention to resolve.