Using Subversion with DropBox

Viewed 41523

Is it a bad idea to use DropBox as a backup system for Subversion repositories?

Has anyone tried using Subversion with an an online file sharing utility like DropBox? What's your experiences?

My concern is whether this will work - mainly because Subversion maintains locks and it's very specific about it. I'm not sure if DropBox and Subversion can both work together?

p.s. I'm thinking of using this for my Xcode projects, and no, i don't want to use github because it's not free - you can't keep your repositories Private with the free account (and other reasons).


References:

DropBox (file sync, sharing, and online backup)

Subversion (open source version control system)

10 Answers

I've got Dropbox, SVN and Xcode working fine here, I've had no problems what so ever.

You don't even need to be careful about which machine you commit/update from as Dropbox keeps EVERYTHING synchronised.

My suggestion is to use dropbox together with an encryption tool such as TrueCrypt. In this way you would have a safe storage on the cloud.

SVN works perfectly in a TrueCrypt disk.

If you need to access the repository at the same time on multiple location I would recommend of using a subversion host provider. DropBox can get confused if two persons are modifying the same file at once.

http://wiki.dropbox.com/TipsAndTricks/IncreasePrivacyAndSafety

http://www.randomwire.com/storing-sensitive-data-in-the-cloud

Why to use SVN inside Dropbox? Instead, you can use your own SVN server with Dropbox-like interface: EasySVN from Assembla or IQBox-SVN.

I think it will probably work out OK if you're not accessing the repository from different locations, and let is synchronize before using it. It doesn't seem like a very stable solution though.

Is there any reason you can't us a publicly available URL for your repository?

Not the trivial way...

First idea is always "okay, let's keep the repo on Dropbox and it will do the rest". Nope. This combo will always give you locking problems, just as you expected. I tried because I love svn's simplicity but I ended up moving some of my repos to git, just to make the sync flawless.

Now I'm still not a git fan (after a few years of inevitable use because of my clients' version control choices) so here's a few ideas to not do what I did:

What you can do instead

  1. RiouxSVN
    There's a very good (and surprisingly, free) svn hosting service: https://riouxsvn.com/ - it's a no-nonsense way to keep your repos somewhere safe, physically detached from your computer, available anywhere as long as you have a connection. So basically, what I guess you wanted to achieve with DropBox.

  2. Post-commit
    You can easily create a post-commit batch that copies your local repository to DropBox. Make it a differential mirror, a built-in tool called robocopy can take care of that for you. This way you'll always have a safe instance in the sky.

  3. Distract DropBox sync
    This is merely a dirty trick if nothing else seems to work - a pre-commit hook with a big file copy, to cause a noticeable delay for DropBox and prevent simultaneous opening of the same files svn are working on. Not recommended if you have a better option.

Related