On Thu, Oct 6, 2011 at 12:22 PM, David Weintraub <qazw...@gmail.com> wrote: > Let's say I have a team in the U.S. where my Subversion repository is > kept, and I have a remote team in India. The remote team in India is > complaining about the length of time for checkouts and commits. Is > there a solution to this particular issue in Subversion? > > I could create a local Svnsync repository, but that's read-only. Is it > possible for the Indian users to checkout from the SvnSync repository, > then do a relocate to the U.S. main repository, and then check in > their changes? Would this be any faster than directly checking out > from the U.S. repository?
There is a simple low-tech option. Setup a CRON job that does svn update on a local checkout, tars the result and posts it on a server in the LAN in India. When developers need to do a checkout they can download and extract the tar and just run svn update to catch up to HEAD quickly. They can easily use switch to change to a branch pretty efficiently. I know a lot of users that use this successfully. If you use Apache, you can use the WebDAV proxy. This takes your svnsync idea a step further by making the local server act as a proxy for the master on write operations. There are several advantages of this approach over your suggestion. 1) Developers do not need to use switch. They just checkout from their local mirror and work as normal. The mirror handles proxying requests back to the master when needed. 2) Since developers do not need to use switch, they can use the mirror for more than checkout. Commands like log/diff/update/switch/merge are all processed by their local mirror and give the performance benefits from this, This is what the ASF uses for their repository. They have a mirror in Europe that committers in Europe connect through when working with the ASF repository. -- Thanks Mark Phippard http://markphip.blogspot.com/