> -----Original Message----- > From: Philip Martin [mailto:philip.mar...@wandisco.com] > Sent: donderdag 8 november 2012 13:31 > To: Bert Huijben > Cc: 'Daniel Shahaf'; dev@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" <b...@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