On Wed, Mar 04, 2009 at 01:50:04AM -0600, Ryan Schmidt wrote:
> On Mar 3, 2009, at 13:29, Josef Wolf wrote:
>
>> I have a repository which integrates another repository via the
>> svn:externals property. Now I would like to integrate this external
>> directly into the parent repository. The actual integration seems
>> to be not really hard.
>>
>> There's one catch, though: on working copies that were created before
>> the repositories were joined, the directory with the external repository
>> is left over. So adding the new path cannot be created and "svn up"
>> bails out with
>>
>> svn: Failed to add directory 'ext': a versioned directory of the same
>> name already exists
>
> Yes, that's this bug:
>
> http://subversion.tigris.org/issues/show_bug.cgi?id=2371
Thanks for your answer, Ryan!
I'm not sure. The bug talks about externals being processed later.
But the externals directory is not removed at all.
>> The problem is that I have lots of working copies which are updated
>> automatically, so I need an automated way to resolve the situation.
>
> Remove the external directory first.
>
> rm -rf /path/to/ext
>
> Then you can "svn up" to get the new versioned one from the repository.
I know I can do that on a working copy that is used interactively. But
for automatically updated WC's, this is not really an option. Especially,
since there are lots of such wc's.
I'd rather checkin some intermediate revision to make sure the update
goes seamless. For example, I could put something like
rm -rf ext
svn up
in the script that does the automatic update and remove those two lines
again in the next revision. Since this script is part of the repository,
it would fix the problem. But then, how do I make sure that this specific
revision is checked out and run _exactly_ once on every wc?
Received on 2009-03-04 18:51:33 CET