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

Re: [TSVN] Cannot replace a directory from within

From: Matthias Wächter <matthias.waechter_at_tttech.com>
Date: 2005-10-11 16:49:58 CEST

kblists@wintec.co.uk schrieb:
> We recently reorganised some old projects, to move to the /HEAD /tags type
> layout. To do this we used the repository browser to move the project under
> a new folder call HEAD and then relocated the copy on the client. This
> appears to have worked, can files can be checked in and committed.
>
> However, if I run an Update at the root directory of the project then I get
> the error:
>
> Cannot replace a directory from within.
>
> If I try a cleanup, it says Cleanup Has Finished.

Checking out the root directory of the project is not what you usually
want. Checking out the root directory means you check out the trunk (you
call it HEAD which might become an ambiguous term in the future) as well
as all tags and possibly all branches you and your users created which
can result in a multiple of download size for all tagged versions of
nearly-the-same files. This is what you might want to teach your users:
Never ever check out the project's root directory.

For your problem: What you might what to do is not an update to the
newly structured project root but a switch to the trunk (/HEAD). Try a
switch operation giving the /HEAD directory as the parameter.

For the conceptual difference of switching vs. updating please see a
very good description in the SVN book at
http://svnbook.red-bean.com/en/1.1/ch04s05.html

Short: If you want to update a tree in time, use Update. If you want to
update a tree in time _and_ place, use Switch. The latter is appropriate
as you moved the main project directory around in the repos. The Update
operation you performed tries to move your main directory since its
position has changed, but it cannot perform that because that's the root
directory of your TSVN operation.

So either use the Switch command to 'walk' to the trunk directory /HEAD
(actually moving your local checkout away from the project root) or
remove the local directory and re-checkout the root directory if that's
really what you want.

- Matthias

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

--
Received on Tue Oct 11 15:49:11 2005

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