tags:

views:

28

answers:

3

Situation - have enormous repository, slow and unreliable link (read - vpn that breaks from time to time).

We are subject of frequent branching, moving things, so every now and then whole new branch should be taken from the repository (checkout).

Is there a way to 'resume' broken checkouts? Is it safe to do svn checkout with same parameters and expect it to skip what is downloaded and download what is not?

+1  A: 

The way I see it, there are three possibilities:

  • It does the checkout correctly and completely, without any headache for you. Problem solved.

  • It checks out everything that didn't get checked out last time. You do 'svn update' and you're golden.

  • It discovers that some stuff has been modified since having been checked out, complains, and aborts. You'll just have to remove the conflicting stuff.

In any event, any file that's been successfully checked out of the repository has associated metadata in your local tree and that will ensure that 'svn update' will get you the most recent version.

So you say that after first 'checkout', I just run and re-run 'update' until I have whole project?
Daniel Mošmondor
I'm suggesting that you run svn checkout again ... I'm not 100% sure what's going to happen. I'm also suggesting that you run svn update as soon as your checkout is successful
svn checkout has 1% of success in one go, because of above-mentioned connection problems...
Daniel Mošmondor
+2  A: 
svn update

does the job for you.

zellus
+2  A: 

From the Subversion documentation

If you interrupt a checkout (or something else interrupts your checkout, such as loss of connectivity, etc.), you can restart it either by issuing the identical checkout command again or by updating the incomplete working copy.

D Krueger
OK, but from the point of efficiency, what will be faster?
Daniel Mošmondor
They are the same, I think. This is from the Subversion mailing list: http://svn.haxx.se/users/archive-2005-04/1908.shtml where Ben Collins-Sussman states "There is no difference. Under the hood, they're the same code."
D Krueger