On Fri, Aug 3, 2012 at 11:59 PM, Eugene Sajine <euguess@xxxxxxxxx> wrote: > Hi, > > Could somebody please advise about how to address the following: > > I have a bare repo (bareA) on one server in network1 and i have a > mirror of it on another server (bareB) in network2 > BareB is updated periodically - no problem here > If bareA dies users are supposed to move seamlessly to bareB. > When bareA goes back up users are moved back but before it starts > serving repos (before git-daemon starts) it updates from bareB. > > Now the problem i have is if bareA doesn't actually die, but the > connection between two networks drops. > In this case users from network2 will stop seeing bareA, they will > start working with bareB, while users in netwrok1 will continue > to work with bareA. > > What would be the best way of syncing the bareB back to bareA when > connection is restored? > > I think the best variant would be to do something like: > > $ git pull --rebase /refs/heads/*:/refs/heads/* > $ git push origin /refs/heads/*:/refs/heads/* > > but pull will not work on bare repos as i understand and there might > be conflicts that will lead to unknown (for me) state of bare repos > > May be I'm looking into wrong direction? May be simple two way rsync > will do the job? But I'm a bit reluctant to rely on rsync because I'm > afraid it may screw up the repository information. The way I solve this is to insist that I *manually* specify which is the push destination and not make it automated. The other one is a read-only mirror until something is manually switched. Might not be ideal for every situation; your call... -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html