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

Re: Partial checkout

From: Matteo Tontini <il_matte_at_yahoo.it>
Date: Tue, 29 Jan 2008 12:57:14 +0100 (CET)

Thank you very much Ryan,

I tried in that way but I still got problems due to Issue 695 (non-recursive checkout bug).
In fact if another developer modifies 'project3Dir' (the directory that i didn't checked out) and commits
changes, the next time I update the root of my working copy I will get the following error:

Error: Directory 'C:\develop\trunk\project3Dir' is missing
Error: Please execute the "Cleanup" command.

After executing cleanup if I try to update the whole repository (under trunk) will be checked out
in my working copy.

Did I miss anything?


Ryan Schmidt <subversion-2007b_at_ryandesign.com> ha scritto: On Jan 28, 2008, at 10:14, Matteo Tontini wrote:

> I'm writing to ask suggestions about how to manage our particular
> project structure.
> We're developing with C# and Visual Studio 2005 professional.
> We have a big solution made up of several groups of projects.
> Different developers work on different sets of projects, organized
> in solutions that realize partitions
> of the global solution.
> In practice we're using the 'Partitioned single solution' model as
> illustrated in the following article:
> http://msdn2.microsoft.com/en-us/library/ms998208.aspx
> The problem is that our versioning system is Subversion.
> With Subversion we've not been able to checkout partially the
> content of the root folder of the
> repository.
> If I want to work with a partial solution and I want to checkout
> only the solution file I need, and the related projects' dirs I'm
> forced to checkout each separate project directory by itself.
> Let's see an example:
> reposName/trunk
> project1Dir/
> project2Dir/
> project3Dir/
> globalSolution.sln
> partitionedSolution1.sln
> partitionedSolution2.sln
> If I want to work with partitionedSolution1.sln, that is made up of
> project1 and project2 I have two kind of problems:
> - I have to checkout separately project1Dir and project2Dir in 2
> subdirectories of my working copy.
> But in this way I cannot commit or update globally the content of
> my working copy, I'm supposed to commit and
> update all the projects separately, instead.

This should work:

svn checkout -N url://to/reposName/trunk

(This will checkout all the files but none of the directories.)

cd trunk
svn up project1Dir project2Dir

(This will bring in just those directories that you specify.)

(It's a single working copy and you can do commits across all of it
all at once, just like you want.)

In Subversion 1.5, I believe there will be a different way to handle
this (sparse directories feature).


L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail
Received on 2008-01-30 02:14:02 CET

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.