svn checkout depth

svn, svn-checkout

Solution

What you need is called sparse checkout.

In your case you can:

svn co --depth files file:///project project
cd project
svn up --set-depth infinity dir1 dir2 dir4
svn up --set-depth empty dir3
svn up --set-depth infinity dir3/subdir1 dir3/subdir3

Can I add subdir2 to dir3 after a checkout?

Yes: `svn up --set-depth infinity dir3/subdir2`

How can I update working copy created this way? Will normal "svn up" command update only these folders or full update of project will be performed?

Yes, `svn up` will update only these files and folders, that is update depth will be preserved.

Problem

I have an SVN project with tree like this: ``` /project /dir1 /subdir1 -file1 -file2 ..... -file1 -file2 ..... /dir2 -file1 -file2 ..... /dir3 /subdir1 -file1 -file2 ..... /subdir2 -file1 -file2 ..... /subdir3 -file1 -file2 ..... /subdir4 -file1 -file2 ..... /dir4 -file1 -file2 ..... -file1 -file2 ``` I need to checkout - all files from /project - full /dir1 - full /dir2 - full /dir4 - From /dir3 I need only /subdir1 and /subdir3 Can I checkout these files/folders using svn commandline with some kind of depth? If so how can I do it? Can I add subdir2 to dir3 after a checkout? How can I update working copy created this way? Will normal "svn up" command update only these folders or full update of project will be performed?

Original source