1

We currently have a local server that is used as our main SVN repository for a team of developers.

We are planning to setup an Azure VM which will be used as the main repository for our SVN repositories. This was decided since the uptime on Azure services is way better and also we have offshore developers working on the same project.

The local server will be used as a backup server, in case the Azure server is offline.

The question is;

  • Is it possible to keep the Azure and local server synchronized with each commit and both with read/write rights?

Our Subversion Server Version: Subversion Edge 3.0.1

chicks
  • 3,639
  • 10
  • 26
  • 36
Yanu312
  • 13
  • 4
  • Don't know about SVN Edge, but it's possible with VisualSVN Server Enterprise Edition: https://www.visualsvn.com/server/features/multisite-replication/ However, with SVN Edge you can script `svnsync` for a write-through proxy. – bahrep Jul 12 '17 at 13:13

2 Answers2

0

Is it possible to keep the Azure and local server synchronized with each commit

Sure, you can use post-commit hooks to run svnsync to sync changes.

and both with read/write rights?

Uhm, no. SVN is not designed to be used this way. You'll need one single master repo to which all commits are made. This master can be sync'd to any number of read-only slaves, though.

EEAA
  • 108,414
  • 18
  • 172
  • 242
  • Thanks for your reply, however, we want that when the main server is offline and developers connect to the backup server, they can commit, hence have write access to the repository. Don't think this is possible eh? – Yanu312 May 05 '17 at 14:42
  • To clarify, only one server can be write-enabled at a time. So they could commit to the backup server, but then before any more writes happen on the master, you'll need to ensure it is in-sync with the backup, and then only enable writes to the master after they've been disabled on the backup. – EEAA May 05 '17 at 14:49
  • @Yanu312 To be very clear: you need to be super-paranoid about this process. One slip up and you have data loss and possibly a corrupt repo. I'd argue that this is one reason you should consider moving your developers to a dvcs - with those, they can continue to work and commit code even if the central repo is down for short periods of time. – EEAA May 05 '17 at 14:56
0

Yes, you can with tricks and headache and additional mediator in the middle. I'll write small recipe for you, if you'll want it.

But I want to say:

It's a good time and occasion to change VCS. With DVCS (namely - Mercurial) any amount of remote repos in sync isn't a problem at all, while bidirectional sync in pure SVN is black magic

Lazy Badger
  • 3,067
  • 14
  • 13