Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I work for a large bureaucratic (and security paranoid) organisation that provides SVN for its development teams to use.

I am working with a 3rd party vendor (at their site) and we currently share code via SVN export and patch files. The only way I have for transferring files is by a FTP drop box or email. I would like a better way to work.

I am currently lobbying to get some kind of DCVS system setup, ideally cloud hosted. Failing that I want a better way to manage keeping SVN repositories in sync.

In the meantime (or if I fail to get DCVS) how do I keep two SVN repositories in sync? How do I best manage exporting the repository? How do I manage incoming changes?

share|improve this question
You could set up git-svn on your side, but you still need to manage getting your changes back into the central svn repo. That's not only how svn works, it's also how "large bureaucratic organisations" work. – user4051 May 1 '13 at 9:43
@gnat I strongly disagree with the duplicate close. This definitely wont work in this situation. How can that work at all given the contraints??? This is SVN-SVN not GIT-SVN. RTFQ – Dave Hillier May 1 '13 at 10:39
How is a cloud-based DVCS going to help if you're limited to email and FTP to bring files into the company? – Caleb May 2 '13 at 0:47
@Caleb They have been known to allow SaaS before, provided it meets security requirements. E.g. restricted to certain IP ranges. – Dave Hillier May 2 '13 at 7:50
@gnat I don't see any discussion there. It's what you have posted as a question, explaining the rationale. My concern is about the commenting "spree" you are on, some of which are valid, some not. – talonx May 3 '13 at 4:16
up vote 6 down vote accepted

The easiest way, if you have the money a bureaucratic and security paranoid org has, is to go to WanDisco and buy their product and time. SVN always had the ability to sync changes (its great for per-commit backups) but wandisco added the ability to do master-master syncs too, so you can have a fully distributed SVN setup.

Running a DVCS setup on the cloud will not get past your paranoid security team, not by a long chalk. Setting a DVCS up for them will probably be difficult too when they realise there is no central server to hold the definitive sources.

You may still have to manage the SVN system as it is - often, 3rd parties do not get direct access to the repo at all. This is for security reasons more than anything and shows you don't 100% trust the other team - which is common, often you won't even know who they are. SVN does have a lot of access controls you can apply to a repo, and I would recommend setting up a repo just for them to commit to, then merge their changes to the in-house repo, which should be a lot easier than ftp patchsets.

share|improve this answer

Easiest way, if you have location,from which both repos (organisation's and vendor's) are reachable by svn-client is

Create local repository, in this repo map two any nodes to the external repositories (via svn:externals)

If you worry about only content, you can periodically perform sync-merge from Vendor Branch to Organisation Branch (merge transfer all changes from all newest revisions). If both content and history are important, you can perform cherry-pick merge (one revision per merge).

Merged to Organisation Branch (from your POV) and committed will appear in organisation's repository as natural commit

share|improve this answer

The SVK decentralized version control system uses the Subversion filesystem.

SVK can mirror and operate on Subversion repositories.

share|improve this answer
would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange – gnat May 2 '13 at 17:04

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.