[PROPOSAL] Incomplete working copies (issue #695)
From: Eric Gillespie <epg_at_pretzelnet.org>
Date: 2006-06-23 07:35:06 CEST
I'd like to propose a new solution to this issue, and hopefully
I don't think Ben Reser's proposal
This is based on an idea from Karl Fogel.
Implementing Incomplete Directory Support in SVN
Many users have very large trees of which they only want to
This is similar to Perforce's client specs, but without the
Depth
We have a new "depth" field in .svn/entries, which has three
depth:0 ----------> Updates will not pull in any files or
depth:1 ----------> Updates will pull in any files or
depth:inf --------> Updates will pull in any files or
The --depth option sets depth values as it updates the working
User interface
Affected commands:
* checkout
The -N option becomes a synonym for --depth 1 for these commands.
checkout without --depth or -N behaves the same as it does today.
Thus, 'checkout' is identical to 'checkout --depth inf', but
To get started, run checkout with --depth 0 or --depth 1. If
Examples
svn co http://.../A
Same as today; everything has depth:inf.
svn co -N http://.../A
Today, this creates wc containing only mu. Now, this will be
svn co --depth 0 http://.../A Awc
Creates wc Awc, but *empty*.
Awc/.svn/entries this_dir depth:0
svn co --depth 1 http://.../A Awc1
Creates wc Awc1 with all files and all subdirectories, but
Awc1/.svn/entries this_dir depth:1
svn up Awc/B:
Since B is not yet checked out, add it at depth infinity.
Awc/.svn/entries this_dir depth:0
svn up Awc
Since A is already checked out, don't change its depth, just
svn up --depth 1 Awc/D
Since D is not yet checked out, add it at depth 1.
Awc/.svn/entries this_dir depth:0
svn up --depth 0 Awc/B/E
Remove everything under E, but leave E as an empty directory
Awc/.svn/entries this_dir depth:0
svn up --depth 0 Awc/D
Remove everything under D, and D itself since A is depth:0.
Awc/.svn/entries this_dir depth:0
svn up Awc/D
Bring D back at depth:inf.
Awc/.svn/entries this_dir depth:0
svn up --depth 1 Awc
Bring in everything that's missing (C/ and mu) and empty all
Awc/.svn/entries this_dir depth:1
---------------------------------------------------------------------
|
This is an archived mail posted to the Subversion Dev mailing list.
This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.