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.