Karl Fogel <kfogel@newton.ch.collab.net> writes:
> Vladimir,
>
> That sequence of commands looks legitimate to me.
The sequence of commands is legit, but this is not going to work out
very well using ra_local these days. See the play-by-play below.
> > # svnadming create /tmp/svn
Got a repos, version 0.
> > #cd /tmp
> > #mkdir t
> > #touch /tmp/t/foo
> > #svn import file://localhost/tmp/svn
> > Adding ./t
> > Adding ./t/foo
> > Commit succeeded.
Now our repos is at version 1, with ./t and ./t/foo in it.
> > #svn co file://localhost/tmp/svn/t
> > A t/foo
Now we have a working copy at version 1.
> > #cd t
> > #svn cp foo foo2
> > A foo2
> > #svn ci
> > Adding /tmp/t/foo2
> > Commit succeeded.
Okay, repos is at version 2, working copy is at version 1 save for
/t/foo2, which is at version 2.
> > #svn mv foo2 foo_2
> > A foo_2
> > D foo2
> > #svn ci
> >
> > svn_error: #21050 : <Filesystem has no such file>
> > commit failed: wc locks and tmpfiles have been removed.
> >
> > svn_error: #21050 : <Filesystem has no such file>
> > commit failed: while sending tree-delta to repos.
> >
> > svn_error: #21050 : <Filesystem has no such file>
> > file not found: filesystem `/tmp/svn/db', transaction `2', path `/t/foo2'
Remember that foo2 (and only foo2) is at revision 2 in the working
copy. So, the move command will make foo_2 a copy of foo2:2 (using
file:revision syntax), and schedule foo2 for deletion. The problem
(at least with the current commit system) is that we build the commit
txn on the parent directory's (t in this case) revision (again, 1 in
this case), and then we attempt to delete 'foo2' from it. But 'foo2'
didn't show up until revision 2, so we can't possibly delete it from
revision 1!
I'm pretty sure you can also reproduce this more simply with:
svn co file://localhost/tmp/svn/t
cd t
echo "foo" > foo
svn add foo
svn ci
svn rm foo (this is just your 'move' above minus the 'copy' part, right?)
svn ci
---------------------
NOTE (and this the real important part of this mail): We are
addressing this (and many related problems) in the next Milestone.
---------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:51 2006