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

Re: newbie checkout question

From: David L <idht4n_at_hotmail.com>
Date: 2006-04-06 18:09:08 CEST

>On Apr 6, 2006, at 06:47, David L wrote:
>
>>In CVS when I checkout foo/bar/src, I get a the whole path foo/bar/ src in
>>my working
>>directory. With subversion, when I checkout file:///repopath/trunk/
>>foo/bar/src, I get just
>>the directory src in my working directory. Then if I checkout
>>file:///repopath/trunk/blah/src,
>>I get a message:
>>
>>svn: 'src' is already a working copy for a different URL
>>
>>How do I get the CVS behavior for checkout that checks out the whole
>>path?
>
>mkdir -p foo/bar/src
>svn co file:///repopath/trunk/foo/bar/src foo/bar/src
>

Thanks Ryan, that works. However, I didn't get quite the behavior that I'd
hoped for. I'm trying to change a script that checked out some select paths
from a CVS archive to one that checks out from SVN. Having to create the
directories and then check out to those directories is a minor
inconvenience. But a bigger problem is that the directories foo and bar are
not really checked out. In CVS, foo and bar would have CVS directories and
I could do things like:

cvs co foo/bar/src
cvs co foo/bar/include
#intentionally don't check out the enormous foo/bar/reallybig directory
cat foo/bar/src/example.cc | sed 's/blah/bla/' > foo/bar/src/example.cc
cat foo/bar/include/example.h | sed 's/blah/bla/' >
foo/bar/include/example.h
cvs dif foo

and get a listing of differences that I had made in foo/bar/src and
foo/bar/include.

Also the directories foo and bar are not modified based on their permissions
in the repository. So foo and bar might have different permissions than if
you checked out foo.

The steps I appear to have to take in svn to get the equivalent of this cvs
line:

cvs co common/software/utilities/foo/bar/include
common/software/utilities/foo/bar/src

are the following 7 svn checkout lines:

svn co -N file:///tmp/svnrepos/trunk/common
svn co -N file:///tmp/svnrepos/trunk/common/software common/software
svn co -N file:///tmp/svnrepos/trunk/common/software/utilities \
        common/software/utilities
svn co -N file:///tmp/svnrepos/trunk/common/software/utilities/foo \
        common/software/utilities/foo
svn co -N file:///tmp/svnrepos/trunk/common/software/utilities/foo/bar \
        common/software/utilities/foo/bar
svn co -N file:///tmp/svnrepos/trunk/common/software/utilities/foo/bar/src \
        common/software/utilities/foo/bar/src
svn co -N
file:///tmp/svnrepos/trunk/common/software/utilities/foo/bar/include \
        common/software/utilities/foo/bar/include

These take 6 seconds on my computer on a basically empty repository... the
equivalent line in CVS takes 2 seconds. It's also a pain to change a script
that checked out a few select directories fro CVS to one that does the all
the stuff I had to do above. Is there an easier/faster way?

Thanks...

            David

_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar – get it now!
http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Apr 6 18:10:40 2006

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.