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

Re: Rename fun and Philip's patch

From: <philip_at_codematters.co.uk>
Date: 2003-01-25 16:17:23 CET

Bill Tutt rassilon@lyra.org writes:

 Here's another fun one:
        create /A/foo as a directory (Foo.0.Txn1)
        cp /A /B (B.1.Txn2)

Doesn't that copy create A.1.Txn2 not B.1.Txn2?

        add /A/foo/bar (bar.0.Txn3), (Foo.0.Txn3)
        begin Txn4
        mv /A/foo /B/foo2 -- both are (Foo.0.Txn3)
        edit /B/foo/blah (blah.1.Txn4), (Foo.1.Txn4)
        edit /B/foo2/bar (bar.1.Txn4), (Foo.1.Txn4) -- badness occurs on
 this line.
        commit Txn4
 When /B/foo2 is made mutable again, a PK violation will occcur because
 the new node revision for /B/foo2 will be (foo.1.Txn4).

I don't really understand the way the current node_revision_id
mutates. Consider the following using the current Subversion trunk

create
 / 0.0.0
mkdir A
 / 0.0.1
  A/ 1.0.1
cp A B
 / 0.0.2
  A/ 1.0.1
  B/ 1.1.2
mkdir B/C
 / 0.0.3
  A/ 1.0.1
  B/ 1.1.3
    C/ 2.0.3
mkdir B/D
 / 0.0.3
  A/ 1.0.1
  B/ 1.2.4
    C/ 2.0.3
    D/ 3.0.4

Why does the final mkdir B/D cause the copy_id of B to change when
the previous mkdir B/C did not? Is it meant to work like that? If
I do mkdir A/C and mkdir A/D then the copy_id of A does not
change.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 14 02:17:08 2006

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