[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

More partial checkout woes

From: Steve Folly <steve.folly_at_blueyonder.co.uk>
Date: 2005-11-11 00:10:01 CET

Hi,

I've given up on trying to use svn:externals to mimic partial
checkouts - it just got too nasty when I started to consider tags and
branches.

However, I'm now looking at non-recursive checkouts and updates to
try and achieve the same effect. But still with some problems...

Consider the following simple repository structure:

        trunk/
                dira/
                dirb/
                dirc/
                dird/
                dire/
        tags/
        branches/

I want a working copy with just dira, dirb and dire:

        svn -N co svn://svn.example.com/ wc
        cd wc
        svn -N update trunk tags
        svn update trunk/dira trunk/dirb trunk/dire

So far so good. So I do some commits and now want to create a tag
with just these three directories.

Looking at the 4 svn copy possibilities:

URL -> URL : Not useful, since that will include dirc and dird in the
copy.
URL -> WC : Not useful, files are already in working copy

WC -> URL: immediately commit a copy of WC to URL

     $ cd wc
     $ svn cp trunk svn://svn.example.com/tags/1.0

     Committed revision 31.

Unfortunately, includes trunk/dirc and trunk/dird in tags/1.0

WC -> WC: copy and schedule for addition (with history)

     $ cd wc
     $ svn cp trunk tags/1.0
     A tags/1.0
     $ ls tags/1.0
     dira dirb dire
     svn commit -m "released 1.0" tags/1.0
     Adding tags/1.0

     Committed revision 32.

This would appear to be the best solution. And, indeed it does only
copy those directories that exist under trunk at the time of the copy.
However, if we now checkout tags/1.0:

    $ svn co svn://svn.example.com/tags/1.0
    A 1.0/dira
    A 1.0/dirb
    A 1.0/dirc
    A 1.0/dird
    A 1.0/dire

We see that suddenly dirc and dird have crept in. How did that happen?
Is this a bug I'm seeing here? dirc and dird were never in the
working copy, so how did they get committed?

Is it just that I'm not fully understanding Subversion? Thanks for
any advice.

(BTW, this is using 1.2.3 on Mac OS X).

-- 
Regards,
Steve.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Nov 11 00:12:09 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.