Login | Register
My pages Projects Community openCollabNet

Discussions > dev [DISABLED] > Re: Help on 1.6-blocker #3334 - tree conflicts in update

subversion
Discussion topic

Back to topic list

Re: Help on 1.6-blocker #3334 - tree conflicts in update

Author Paul Burba <ptburba at gmail dot com>
Full name Paul Burba <ptburba at gmail dot com>
Date 2009-01-30 14:59:01 PST
Message On Wed, Jan 28, 2009 at 3:48 PM, Julian Foad <julianfoad@btope​nworld.com> wrote:
> Blocker:
>>
>> * #3334: Tree conflicts "merry-go-round" about update updating the base.
>> Julian Foad is working on this. Done for when victim is a file, still
>> doing for when victim is a directory. [julianfoad]
>> See: <http://subversion.ti​gris.org/ds/viewMess​age.do?dsForumId=462​&dsMessageId=101​9712>.
>
> I'm struggling with this and could use some help. I have rather little
> time to look at it these days.
>
> On the issue-3334-dirs branch, the remaining problem is "just" a matter
> of scheduling a directory tree to be re-added as a copy of what it was
> before.
>
> The function "schedule_existing_i​tem_for_re_add()" tries to do this, but
> doesn't get the result quite right.
>
> On the branch I added a new "test" (update_tests.py 53). This "test"
> doesn't actually test anything, but just runs the tree-conflict
> scenario, and also runs a manual schedule-as-re-add command sequence, so
> that we can (manually) compare the resulting "entries" files.
>
> In test 53, the tree conflict victim is directory A/ and A's THIS_DIR
> entry needs a "revision" of 1, but it gets a revision of 2. That's all
> that is wrong with its THIS_DIR entry. There is nothing wrong with its
> children, I think. The only other problem is A's entry in its parent,
> which gets several fields wrong (different from the "manual copy" WC).
>
> Please could someone have a look at the differences between the entries
> files in test 53's two WCs, and see how to make
> "schedule_existing_i​tem_for_re_add()" create that state.

Julian (and/or any other TCers),

I've got this test working, but I'm wondering about a slightly
different case than the one covered in the test.

What if, instead of having a modification directly to the directory
that the update will attempt to delete, we instead have a local mod
only to a subtree of that directory? For example, say we start with
this vanilla Greek WC:

    issue3334.dgb>svn st -v
                     1 1 jrandom .
                     1 1 jrandom A
                     1 1 jrandom A\B
                     1 1 jrandom A\B\lambda
                     1 1 jrandom A\B\E
                     1 1 jrandom A\B\E\alpha
                     1 1 jrandom A\B\E\beta
                     1 1 jrandom A\B\F
                     1 1 jrandom A\mu
                     1 1 jrandom A\C
                     1 1 jrandom A\D
                     1 1 jrandom A\D\gamma
                     1 1 jrandom A\D\G
                     1 1 jrandom A\D\G\pi
                     1 1 jrandom A\D\G\rho
                     1 1 jrandom A\D\G\tau
                     1 1 jrandom A\D\H
                     1 1 jrandom A\D\H\chi
                     1 1 jrandom A\D\H\omega
                     1 1 jrandom A\D\H\psi
                     1 1 jrandom iota

Then we delete 'A' directly in the repos:

    issue3334.dgb>svn del %url53%/A -m ""

    Committed revision 2.

Then we make a text mod in our WC to a subtree of 'A':

    issue3334.dgb>echo new content > A\D\G\pi

    issue3334.dgb>svn up
       C A
    At revision 2.
    Summary of conflicts:
      Tree conflicts: 1

Ok, the tree conflict is correct, but what should be scheduled for
addition? Should the entire subtree rooted at 'A' be schedule for
addition as a copy from A@1?

    issue3334.dgb>svn st -v
                 2 2 pburba .
    A + C - 1 jrandom A
          > local edit, incoming delete upon update
       + - 1 jrandom A\B
       + - 1 jrandom A\B\lambda
       + - 1 jrandom A\B\E
       + - 1 jrandom A\B\E\alpha
       + - 1 jrandom A\B\E\beta
       + - 1 jrandom A\B\F
       + - 1 jrandom A\mu
       + - 1 jrandom A\C
       + - 1 jrandom A\D
       + - 1 jrandom A\D\gamma
       + - 1 jrandom A\D\G
    M + - 1 jrandom A\D\G\pi
       + - 1 jrandom A\D\G\rho
       + - 1 jrandom A\D\G\tau
       + - 1 jrandom A\D\H
       + - 1 jrandom A\D\H\chi
       + - 1 jrandom A\D\H\omega
       + - 1 jrandom A\D\H\psi
                     2 1 jrandom iota

*OR* should only the modified subtree 'A/D/G/pi' and its path-wise
ancestors be present?

    issue3334.dgb>svn st -v
                 2 2 pburba .
    A + C - 1 jrandom A
          > local edit, incoming delete upon update
       + - 1 jrandom A\D
       + - 1 jrandom A\D\G
    M + - 1 jrandom A\D\G\pi

                     2 1 jrandom iota

I've got the former working*, but I wonder if the latter is not
actually the correct behavior.

Opinions appreciated,

Paul

* Though not quite ready as several update and switch tests are now failing.

« Previous message in topic | 14 of 21 | Next message in topic »

Messages

Show all messages in topic

Help on 1.6-blocker #3334 - tree conflicts in update julianfoad Julian Foad 2009-01-28 12:48:50 PST
     Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-01-29 06:09:47 PST
         Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-02-03 21:59:15 PST
             Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-02-04 08:21:12 PST
                 Re: Help on 1.6-blocker #3334 - tree conflicts in update sbutler Stephen Butler 2009-02-04 12:47:55 PST
                     Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-02-09 19:31:27 PST
                         Re: Help on 1.6-blocker #3334 - tree conflicts in update markphip Mark Phippard 2009-02-10 05:59:38 PST
                             Re: Help on 1.6-blocker #3334 - tree conflicts in update "Hyrum K dot Wright" <hyrum_wright at mail dot utexas dot edu> "Hyrum K dot Wright" <hyrum_wright at mail dot utexas dot edu> 2009-02-10 06:07:02 PST
                                 Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-02-10 06:20:47 PST
                                     Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-02-10 06:46:11 PST
                                         Re: Help on 1.6-blocker #3334 - tree conflicts in update sbutler Stephen Butler 2009-02-10 07:00:19 PST
                                             Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-02-10 07:17:48 PST
                                                 Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-02-10 09:02:58 PST
     Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-01-30 14:59:01 PST
         Re: Help on 1.6-blocker #3334 - tree conflicts in update markphip Mark Phippard 2009-01-31 08:02:31 PST
             Re: Help on 1.6-blocker #3334 - tree conflicts in update julianfoad Julian Foad 2009-02-02 08:36:27 PST
         Re: Help on 1.6-blocker #3334 - tree conflicts in update julianfoad Julian Foad 2009-01-31 15:16:59 PST
             Re: Help on 1.6-blocker #3334 - tree conflicts in update Paul Burba <ptburba at gmail dot com> Paul Burba <ptburba at gmail dot com> 2009-02-02 07:35:16 PST
                 Re: Help on 1.6-blocker #3334 - tree conflicts in update julianfoad Julian Foad 2009-02-02 08:15:49 PST
                     Re: Help on 1.6-blocker #3334 - tree conflicts in update markphip Mark Phippard 2009-02-02 08:20:14 PST
                         Re: Help on 1.6-blocker #3334 - tree conflicts in update julianfoad Julian Foad 2009-02-02 08:27:02 PST
Messages per page: