You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by mike nicholaides <mi...@gmail.com> on 2006/04/28 17:44:17 UTC

Partial checkouts on a huge project

Hey guys,

I hope y'all can help me out.  I've been googling and reading the
archives of this list for about a week now.

I have a huge intranet project that I want to put under version
control.  The problem I've run into is that the whole project is 1.3
GB, which means that checking out the whole project, even on the same
machine as the repository, takes forever.

Checking out sub directories won't work, because they rely on the
parent directories.  Non-recursive checkouts of directories doesn't
work either, because I can't recursively commit from a non-recursive
checkout.

Here's a simple example of what I want to do, in case the previous
paragraphs are vague.

I have a directory structure:

trunk/
   tools/
      common/
         hammer/
         drill/
         chisel/
      custom/
         cde24/
         abc92/
   customers/
   projects/
...

Now, say I want to work in "drill" directory. The project depends on
files in the parent, grandparent and ancestor directories.

So, I want my check out to look like:
trunk/
   tools/
      common/
         hammer/
And, I want trunk, tools, common, and hammer to have all their files
checked out, but none of the directories (except hammer should have
all child directories checked out).

Does this make sense at all?

What do I do?

Thanks so much,
Mike

Re: Partial checkouts on a huge project

Posted by mike nicholaides <mi...@gmail.com>.
Thanks, everybody.  You've all been really helpful.


On 4/28/06, Nico Kadel-Garcia <nk...@comcast.net> wrote:
> mike nicholaides wrote:
> > Hey guys,
> >
> > I hope y'all can help me out.  I've been googling and reading the
> > archives of this list for about a week now.
> >
> > I have a huge intranet project that I want to put under version
> > control.  The problem I've run into is that the whole project is 1.3
> > GB, which means that checking out the whole project, even on the same
> > machine as the repository, takes forever.
>
> You have my sympathies. I've seen way, way, way too many programmers write
> their tools as "let's lump everything together and dependent on the same
> source tree". XFree86 was a prime example fo this.
>
> You need to look at this webpage:
>
>     http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.advanced.externals
>
> Then you can create a workig branch directory, such as "build-hammer-1", and
> stuff the necessary external downloads into it.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>


--
http://ablegray.com

Re: Partial checkouts on a huge project

Posted by Nico Kadel-Garcia <nk...@comcast.net>.
mike nicholaides wrote:
> Hey guys,
>
> I hope y'all can help me out.  I've been googling and reading the
> archives of this list for about a week now.
>
> I have a huge intranet project that I want to put under version
> control.  The problem I've run into is that the whole project is 1.3
> GB, which means that checking out the whole project, even on the same
> machine as the repository, takes forever.

You have my sympathies. I've seen way, way, way too many programmers write 
their tools as "let's lump everything together and dependent on the same 
source tree". XFree86 was a prime example fo this.

You need to look at this webpage:

    http://svnbook.red-bean.com/nightly/en/svn-book.html#svn.advanced.externals

Then you can create a workig branch directory, such as "build-hammer-1", and 
stuff the necessary external downloads into it. 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Partial checkouts on a huge project

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Apr 28, 2006, at 19:44, mike nicholaides wrote:

> I have a huge intranet project that I want to put under version
> control.  The problem I've run into is that the whole project is 1.3
> GB, which means that checking out the whole project, even on the same
> machine as the repository, takes forever.
>
> Checking out sub directories won't work, because they rely on the
> parent directories.  Non-recursive checkouts of directories doesn't
> work either, because I can't recursively commit from a non-recursive
> checkout.

Is that really true of non-recursive checkouts? I wasn't aware of  
that. I'm not sure why that would be....

You could check out the entire project (takes a long time, sure),  
then "svn switch" the directories you don't need to an empty  
directory somewhere in the repository, possibly created for just this  
purpose. This then makes the working copy smaller again, makes "svn  
status" faster again because there are fewer directories, and so forth.

If many people will often need the same subset of the project, you  
could do this once, then make it available via Samba or web site or  
FTP or whatever where people can download this pre-made partial  
checkout, and then do an "svn update" on their local copy to get it  
up-to-date again. You could automate a task which makes the  
downloadable pre-made partial checkout update itself periodically so  
it's not too stale when it's downloaded. If there are multiple such  
subsets that people would want, you could make several such pre-made  
working copies available for download.



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org