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

RE: svn commit: r1406870 - in /subversion/trunk/subversion: libsvn_wc/update_editor.c libsvn_wc/wc_db_wcroot.c tests/cmdline/special_tests.py

From: Bert Huijben <bert_at_qqmail.nl>
Date: Thu, 8 Nov 2012 16:42:17 +0100

> -----Original Message-----
> From: Philip Martin [mailto:philip.martin_at_wandisco.com]
> Sent: donderdag 8 november 2012 13:31
> To: Bert Huijben
> Cc: 'Daniel Shahaf'; dev_at_subversion.apache.org
> Subject: Re: svn commit: r1406870 - in /subversion/trunk/subversion:
> libsvn_wc/update_editor.c libsvn_wc/wc_db_wcroot.c
> tests/cmdline/special_tests.py
>
> "Bert Huijben" <bert_at_qqmail.nl> writes:
>
> > In the update editor we could change the behavior of incoming symlink
> > changes to be handled as a delete + add, introducing a tree conflict
> > (and a local replacement of the incoming node to keep the original
> > state) if there are local changes.
> >
> > I think I should be able to introduce this update editor behavior
> > easily, but it is hard for me to test the on-disk symlink behavior. So
> > I might break a few buildbot runs while working on this.
>
> We are currently adding a tree conflcit but we are not doing a good job:
>
> $ svn up wc --accept postpone
> Updating 'wc':
> C wc/f
> At revision 2.
> Summary of conflicts:
> Tree conflicts: 1
> $ svn st wc
> D C wc/f
> > local add, incoming add upon update
> Summary of conflicts:
> Tree conflicts: 1
>
> We have flagged an add-add conflict but it's more of an update-update
> conflict. Also the working state is 'D' and that is probably never what
> the user wants. To get to state 'R' the user must resolve the tree
> conflict before doing the extra add.

After r1407131 you would get something like:

<< s-reverse and s-type are the changes from file into symlink and the other
way >>

$ svn up svn-test-work\working_copies\special_tests-25
Updating 'svn-test-work\working_copies\special_tests-25':
U svn-test-work\working_copies\special_tests-25\s-in-place
   C svn-test-work\working_copies\special_tests-25\s-replace
   A svn-test-work\working_copies\special_tests-25\s-replace
   C svn-test-work\working_copies\special_tests-25\s-reverse
   C svn-test-work\working_copies\special_tests-25\s-type
Updated to revision 5.
Summary of conflicts:
  Tree conflicts: 3

$ svn status -u svn-test-work\working_copies\special_tests-25
RM + C - 2 jrandom
svn-test-work\working_copies\special_tests-25\s-replace
> local edit, incoming replace upon update
RM + C - 2 jrandom
svn-test-work\working_copies\special_tests-25\s-reverse
> local edit, incoming replace upon update
RM + C - 2 jrandom
svn-test-work\working_copies\special_tests-25\s-type
> local edit, incoming replace upon update
M 5 3 jrandom
svn-test-work\working_copies\special_tests-25\s-in-place

When the files/symlinks were locally modified before the update. (If the
files weren't modified the update just handles the update, as with a normal
replacement)

As part of this work I enabled quite a few special tests on Windows, to at
least get into these code paths from the test suite.

        Bert
>
> --
> Certified & Supported Apache Subversion Downloads:
> http://www.wandisco.com/subversion/download
Received on 2012-11-08 16:42:56 CET

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