Ulrich Eckhardt 写道:
> On Wednesday 09 September 2009, Chen (陈) Jun (军) wrote:
>> On Aug, 19 2006, when svn was at his 1.3.x, I asked a question on this
>> mailing list, "SVN does not allow checking out parent dir if its child
>> dir has been checked out",
>> see http://svn.haxx.se/users/archive-2006-08/0881.shtml
>> But now, svn 1.6.x still does not make improvement on this problem,
>> except that the error message is a bit different.
>> svn: Failed to add directory 'ChjTrivials\ichsize': a versioned
>> directory of the same name already exists
>> I'd like to get some idea about this issue from you kind users on this
>> mailing list.
> My guess: nobody but you cares. If I wanted to do that, I would temporarily
> rename the existing working copy to a name that isn't occupied, check out the
> parent and then replace its subdir with the existing, renamed working copy.
> Doing that manually is good enough for most users, since the case that you
> need that is _very_ rare. You however are writing a program that needs to
> check out working copies in this peculiar order and are thus bitten by this,
> but - hence my initial comment - you are probably the only one.
You've guessed right, Uli. I and my team might sometimes create some
something big svn repos(C++ source code) consisting many C++ projectS,
and we periodically run an auto-build software to checkout some part of
the repos to do a build(something like a daily build). Note:
* the checkout is automatically carried out by the auto-build software
by instructions in makefiles(think them as build script).
* It is not a must to checkout the whole big repos every time, but only
check out the required project enough for current build(e.g. link a
single DLL). -- checking out a whole repos costs much more time.
Now you can imagine, it is reasonable for one of my build script to
checkout a subdir and another script to checkout the parent
dir(according to actuall need of the specific script). But, if that
happens, I'm stuck by svn co command. :(
So, my current workaround is to always checkout the whole svn repos in
my script even if some scripts actually need a small portion of the repos.
BTW: The auto-build software is developed by me, available at
> 1. Restructure your code to check out things in the 'normal' order.
> 2. Implement the above manual workaround in your code.
> 3. Create a patch for SVN that replaces above error message. Actually, I guess
> the change would be pretty easy, it would only require checking if the child
> to be created is bound to the same repository URL as the existing one. If so,
> SVN could just skip this subdir and output a warning.
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_subversion.tigris.org].
Received on 2009-09-10 02:29:23 CEST