We are a startup, setting new environments for product to be released soon. Planned server structure with planned release flow is as shown in below image


It ideally have a local server (or Staging server, shown in green) in local office, without public IP address and Production Server (Red) at Amazon EC2.

Both local and production server have there own SVN copy. Management here want to update production server with production SVN and without providing its access to developers (including freelancers/contract employees). So for developers, there is a Local SVN on local server. Another purpose of local SVN to keep a copy of code on local server, which is under our direct control.

Although there are some technical concerns like how will code at local server will be updated from local SVN and commit on production SVN but bigger question is, is that structure correct? Major requirement remain don't provide production SVN access to developers. What are other possible options to achieve that?

Another minor question, if suitable here, if above structure is correct, is it possible for a SVN checkout to get updated from one SVN (Local SVN) but commit to other (Production SVN)? If yes, How?


An answer has been accepted but for bounty, I'm still looking for answer Is that structure correct? Its pros/Cons? Technical solution is already provided by accepted answer.

  • 4
    svn is client-server and so you'll need to have a central repo where everyone pulls from, or pull off some nasty hackery. Strongly consider using git or mercurial instead. Oct 13 '12 at 13:04
  • @MichaelHampton why not 'svnsync'?
    – bahrep
    Oct 15 '12 at 11:17
  • @bahrep All the other reasons to not use svn. :) Oct 15 '12 at 11:30
  • 1
    @MichaelHampton What? CVCS and DVCS advocate different approaches to version-control workflow; people can name reasons not to use Hg or Git. Don't turn this into a holywar, please.
    – bahrep
    Oct 15 '12 at 11:40
  • I think GIT would handle all these issues, have you looking into subgit.com ? Oct 29 '12 at 12:27

is that structure correct?

At least "usable" and "widely accepted". N-tier leveling for SVN is old trick

is it possible for a SVN checkout to get updated from one SVN (Local SVN) but commit to other (Production SVN)?


If yes, How?

Did you miss answers on your own question "Multiple SVN repos, update from one > commit to other" on SO? My answer, "With Sacling WC" chapter

Beware: Using intermediate WC, you can't ensure consistency of both repos due to human-factor

  • Thanks for ans here and SO Lazy Badger. I didn't missed your answer and your answer is correct. I even tested it and found working. Still I don't know why but I'm feeling we may encounter few issues in future with current structure like (worse case) corrupting the repo. I started bounty to seek what others do if they can't provide main repo access to developers. I guess it is a common problem. Ideally speaking, I'm scared to implement this structure and my main question is still Is that structure correct. On SO, question was different how to do it technically. Oct 23 '12 at 9:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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