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

Re: singl file checkout

From: Mark Eichin <eichin_at_gmail.com>
Date: Fri, 31 Oct 2008 18:53:54 -0400

On Thu, Oct 30, 2008 at 4:06 PM, David L <idht4n_at_gmail.com> wrote:

> Now another related question. The two reasons I like to check out
> only the files I need for a project are checkout times and diskspace.
> I was surprised to find that checking out the 162 directories I need
> for the ~1000 files in one of my projects took 120 seconds (not even
> including checking out the files). I verified that this was partly because
> I'm using svn+ssh to access the repository. I'm guessing it must
> be using ssh 162 times to create the 162 directories.? Is there a
> way to make this process more efficient?

The answer to that used to be "fsh" http://www.lysator.liu.se/fsh/ but
I see it hasn't updated since 2001 (that said, it was pretty simple
and ought to still work with a modern ssh) - you use it to run an
initial ssh, and then it tunnels further requests over that initial
session. (That said, I think I've heard talk of svn reusing the
connection more in the future, but I don't know if it was anywhere
real...)

> Thanks,
>
> David
>
> PS -
> I wrote a simple little script that, given a file containing a list of
> files, will create a list of all of the directories that need to be
> updated before updating that list of files to check them out.
> It's not too efficient, but I think it works:
>
> #!/bin/bash
> for i in `cat $1`; do
> dn1=`dirname $i`
> dn="$dn $dn1"
> done
> dn2=`echo $dn | tr ' ' '\n' | sort -u`
> for i in $dn2; do
> dn1=`dirname $i`
> dn2="$dn2 $dn1"
> dn1=`dirname $dn1`
> while [ "$dn1" != "." ]; do
> dn2="$dn2 $dn1"
> dn1=`dirname $dn1`
> done
> done
> dn3=`echo $dn2 | tr ' ' '\n' | sort -u`
> echo $dn3
>
> This functionality really should be built into svn IMHO.

Yeah, something like "update --depth=skeleton" would be nice.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-10-31 23:54:25 CET

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