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

how to have working copy be subset of large tree?

From: Alan Jay Weiner <alan_at_ajw.com>
Date: 2005-09-20 04:50:10 CEST

I'm not sure how to do this cleanly...

I'm playing with some Python projects that already exist, so they're already
installed in the Python root directory (E:\Python23 in my case)

I want to have some of the directories under E:\Python23 as my working copy of
the project, but other directories are not. But it's not just a branch of the
dir tree; it's several branches with no common top directory:

This also opens up a secondary question - if I do this how I *think* I should do
this, what if I'm working on multiple separate projects that have the same root
directory? I'll explain that question in a moment.

The project currently lives as installed in the Python root dir:

E:\Python23
        (other dirs I DON'T want as part of wc)
        lib
                site-packages
                        (other dirs I DON'T want as part of wc)
                        projectFoo
        scripts
        share
                (other dirs I DON'T want as part of wc)
                projectFoo

From above, I want as my working copy to contain:
        lib\sitepackages\projectFoo
        scripts
        share\projectFoo

I've created a tree in the repository with the directories and files I want; the
subset from Python23\*
repositoryRoot\projectFoo\trunk is at the same level as Python23, so I have:
repositoryRoot\projectFoo\trunk\lib
repositoryRoot\projectFoo\trunk \scripts
repositoryRoot\projectFoo\trunk\share

But how do I create a working copy - I can't do a checkout into the
already-existing E:\Python23 because the directories and files already exist.

I've thought of two methods:

(1) Delete the files and dirs that are in the repository and then just check
them out as
        svn co repositoryRoot\projectFoo\trunk E:\Python23

(2) rename E:\Python23 to something else
create a new empty E:\Python23 and checkout the projectFoo\trunk to it
copy everything from the former E:\Python23 into the new E:\Python23
(this would overwrite the checked-out files with duplicate copies but that's ok,
isn't it? timestamps would change though)

Is there a cleaner way to checkout the project I want, overlaying it on top of
already-created files of the same name?

Now, to the question I mentioned above - if I do either of the above, I'll end
up with projectFoo's top directory being E:\Python23 - i.e., I can do updates
and commits from that directory and I'll get all the working copy at once, just
as I do with other projects.
(I'll have to svn:ignore the branches I don't want to version)

But what if I'm also working on other projects in the Python23 tree?

Say, projectBar which has similar projectBar directories under lib and share?

If I do the same thing with them, I'll end up with E:\Python23 trying to be the
top directory of *both* working copies - which won't work at all, I'm sure.

So is this even possible to do?

Any ideas of a clean way to do this?

- Al -
(hoping I'm not opening a can of worms like my other question... :)

-- 
--  Alan Weiner  --  alan_at_ajw.com  --  http://www.ajw.com
Palm OS Certified Developer
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Sep 20 04:54:18 2005

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