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

Re: Problems with update after moving several directories

From: John Szakmeister <john_at_szakmeister.net>
Date: 2004-12-09 12:49:19 CET

On Thursday 09 December 2004 04:28, Patrick Heinemann wrote:
> Hi,
>
> I am still looking for a solution to this problem, or a suggestion what
> went wrong...
> Maybe my last posting was a little misunderstanding, but I would still
> like to know why this error occured when I was trying to update the
> users working copy. Although this user solved the problem brute force,
> I still have other users that are likely to face the same problem when
> updating to the new layout...
>
> Best,
> Patrick
>
> On Tuesday 07 December 2004 14:24, Patrick Heinemann wrote:
> > On Monday 06 December 2004 18:14, kfogel@collab.net wrote:
> > > Patrick Heinemann <heinemann@informatik.uni-tuebingen.de> writes:
> > > > I have recently changed the directory layout of our software,
> > > > e.g. $> cd trunk/
> > > > $> svn move IPC/ inter_process_com
> > > > D + IPC
> > > > A + inter_process_com
> > > > $> svn commit
> > > > commited revision 1005
> > > > and so on...
> > > >
> > > > Now I tried to update a users working copy which he had changed
> > > > meanwhile at some files. The result was:
> > > > $> cd trunk/
> > > > $> svn update
> > > > svn: Cannot replace a directory from within

I generally see this error occur when the top-level directory has been
moved for a working copy. i.e.:
  svnadmin create repo
  svn co file://`pwd`/repo wc
  svn mkdir wc/trunk
  svn ci -m '' wc
  svn co file://`pwd`/repo/trunk trunk
  svn mv wc/trunk wc/new-name
  svn update trunk

The last command fails because it believes it's root in the trunk/
directory, but that no longer exists. In the perfect world, it should Do
the Right Thing and effectively switch to the new directory.
Unfortunately, no one has sat down to try to fix this bug.

In your case, perhaps we haven't seen the whole transcript. The following
works for me:
  :: svnadmin create repo
  :: svn co file://`pwd`/repo wc
  Checked out revision 0.
  :: svn mkdir wc/trunk wc/trunk/A
  A wc/trunk
  A wc/trunk/A
  :: svn ci -m '' wc
  Adding wc/trunk
  Adding wc/trunk/A

  Committed revision 1.
  :: svn co file://`pwd`/repo/trunk trunk
  A trunk/A
  Checked out revision 1.
  :: svn mv wc/trunk/A wc/trunk/B
  A wc/trunk/B
  D wc/trunk/A
  :: svn ci -m '' wc
  Deleting wc/trunk/A
  Adding wc/trunk/B

  Committed revision 2.
  :: svn up trunk
  A trunk/B
  D trunk/A
  Updated to revision 2.
  :: svn --version
  svn, version 1.1.1 (r11581)
     compiled Nov 27 2004, 21:42:07

-John

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Dec 9 12:51:50 2004

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