Is dropbox suitable as centralised bazaar storage?

Asked by Bruce Mutton on 2012-09-26

We have been running a number of projects using bazaar with a decentralised workflow and merging our trunks periodically by exchanging flash memory storage. We would like to move to using a 'decentralised with shared mainline' model.

We would use launchpad, except we do not want to indiscriminately share our data and we do not wish to pay to keep it private. We would use a web server except we do not have the skills to set it up, nor have any of our friends have either the knowledge or server software compatible with bazaar. As you might have gathered we are self taught in the ways of version control, so our knowledge and competence is rather patchy.

Dropbox would seem to be a contender as an alternative to launchpad or another server space, but I think there may be fundamental reasons why it will not be reliable when there is more that one member in the team. But I don't really know how these things work, hence this inquiry. Perhaps as there are no forum posts warning of such problems my concrens are unfounded.

We have put a few projects on Dropbox (no trees) , and so far, so long as we pause Dropbox's syncing while bazaar is working on the repositories they are working fine.

Dropbox I think only tracks file by file whether there is a conflict, and if there is give you the choice 'keep yours' or 'keep theirs'.
Sooner or later if there is more than one team member you can be sure that two people will commit or push or pull to the master trunk on dropbox. My concern is that bazaar will allow both team members to access the repositories at the same time, and if by chance different component files in the repository are updated simultaneously, neither dropbox nor bazaar will detect the conflict, and this will scramble the repository.

Either this, or two or more team members pausing syncing of dropbox and pushing or merging or whatever, and then resuming syncing, and dropbox will interleave amended repository files, or unhelpfully say 'these 15 repository files are conflicted, tell me which ones you want to keep'. Either way it would seem the central master trunk will be toast.

Are these valid concerns? Or am i just thinking too much?

Question information

English Edit question
Bazaar Edit question
No assignee Edit question
Solved by:
Martin Pool
Last query:
Last reply:
Best Martin Pool (mbp) said : #1

Your concerns are well founded: Dropbox doesn't pretend or attempt to
provide a coherent timeline in the way a regular disk or network
partition would. bzr will probably detect the errors but resolving
them may be annoying.

My recommendation for your case would be just to set up a VPS (virtual
private server) (eg linode), let all your collaborators ssh in to it,
and then use bzr+ssh. You don't need a lot of maintenance or
configuration experience, or to run a web server. Do remember to make
backups though.

Bruce Mutton (dangle) said : #2

Thanks Martin Pool, that solved my question.

Vincent Ladeuil (vila) said : #3