views:

467

answers:

3

Hi,

I have a codebase located in Europe and access this codebase from Asia. Codebase is substantially huge, downloading the whole codebase (which is required sometimes) becomes a pain.

I wanted to know whether anything like this.

I want a solution that "I will have a svn server locally which will sync with the main svn and serve my team as the svn is locally hosted."

Thanks in advance
Munim

+1  A: 

Here is a pretty good article on how to set this up:

http://wordaligned.org/articles/how-to-mirror-a-subversion-repository

The general idea is to use svnadmin hotcopy to do the copy without down time, perhaps triggered by a post-commit hook, or on a timer.

Another option, discussed here:

http://blogs.open.collab.net/svn/2007/08/mirroring-repos.html

Is to use SVN sync to do a sync, rather than a copy, using the svnsync synchronize command.

John Gietzen
Sorry! This is the first post on Google when you search with **Mirror SVN Repository**. I have edited the question, please check the question again. I am sure you can help me on this.
Munim Abdul
Ok, `svnsync` is almost definitely your way to go then. You can set up a post-commit hook that will do the syncing for you. That second link should give you a pretty good walk-through.
John Gietzen
Perhaps `svnsync` could be a solution, but I want some that is similar to `TFS Proxy`.
Munim Abdul
@Munim: I don't think that there is a caching proxy server for SVN. I think `svnsync` is the closest you are going to get. You can get reasonably close using scvsync, tho.
John Gietzen
There is the write-through proxy mechanism which is build into svn1.5(however with some apache magic, you can get it running on svn 1.4: http://www.rvo-consulting.com/2008/02/21/subversion-diy-write-through-proxy/ )
Peter Parker
A: 

Besides the svnsync, you can try the commercial solution from Wandisco.

Atempcode
Thanks, but Write-through proxying solved the problem :)
Munim Abdul
+1  A: 

You can also try a write-through-proxy which is supported since SVN 1.5 and works fine.

With this setup you have a master and a slave repository.

The slave repo acts as a local read cache while commits will be proxied to your master server and synced back.

This solution comes with subversion / apache.

See this svndevelopers blog for more details. Or the superb SVN book, or last but not least the subtrain admin training presentations

Peter Parker
This is exactly what I want. Can you give me detail how to do it?
Munim Abdul
It is not a difficult task, but you have to do a lot of things (apache configs and subversion hooks) You can use the links as references (I added two more references)
Peter Parker
Thanks Peter :)
Munim Abdul