Jason
Jason

Reputation: 17099

Local copy of SVN repository, syncing to remote copy?

Is there any way I can check in/out of a local repository, and have those changes sync with the remote repository in the background?

Internet connection where we are is weak, and the repository is huge. When I want to browse the repository with TortoiseSVN's Repo Browser, I can wait 30 minutes to load the repository information.

Ideally, I would communicate with a local server, that would in the background/periodically sync with the remote server.

Upvotes: 2

Views: 12659

Answers (6)

bahrep
bahrep

Reputation: 30662

You can setup (multiple) writable slave repositories by using VisualSVN Server's Multisite Repository Replication feature:

  1. Setup a master repository at the main office location,
  2. Setup a slave repository at the remote location,
  3. Setup another slave at another remote location,
  4. etc.

Users in the main office access the master repository, users located in the remote site access the writable slave repository. Bidirectional replication between the master and it's slaves is done transparently and automatically allowing you to even forget that you have a multisite solution implemented. For your users, the master and the slaves are available just like any other Subversion repo.

See "Getting started with Multisite Repository Replication" for additional information.

Upvotes: 0

joshuapoehls
joshuapoehls

Reputation: 35287

I just found this article today that talks about mirroring Subversion repositories using a tool called svnsync. Hope this helps!

Upvotes: 1

Clint Miller
Clint Miller

Reputation: 15399

Another approach is to use git instead of subversion at your your remote site. Git has the ability to synchronize with subversion the way that you want. Then, you would locally check in and refresh from git, and periodically, you would commit your git repository back into the remote subversion.

The downside is that you have to learn a new version control system at your remote site. But, distributed version control systems like git, mercurial, and bzr are much better suited for your type of environment than subversion.

Upvotes: 1

basszero
basszero

Reputation: 30014

While I've never used this, I hear that git-svn is exactly what you want. You pull SVN once, do all your local work in git (on top of the svn checkout), and commit back to SVN when your connection is better.

Upvotes: 4

f3lix
f3lix

Reputation: 29875

You could use SVK to create a local mirror of the SVN repository. The you would commit your changes to the local SVN repository (using SVN) and the push the changes to the 'real' repository using SVK.

I believe this strategy is described in Using SVK as a repository mirroring system

Upvotes: 3

sagi
sagi

Reputation: 5767

Subversion supports replication to read-only slaves. See the relevant chapter in the SVN Book.

Upvotes: 1

Related Questions