On Thu, 2011-05-26 at 17:18 +0200, Stephen Butler wrote: > On May 26, 2011, at 16:32 , Julian Foad wrote: > > > On Thu, 2011-05-26 at 13:42 +0200, Stephen Butler wrote: > >> I've assigned issue 3899 "forbid wc-wc copy/move of conflict victims" > >> to myself, but I think it needs a little more discussion. > >> > >> The basic idea is that the conflict data (including marker files) includes > >> references to "their" version from the repository, which would be invalid > >> anywhere else in the working copy. > > > > Why would a repos location be invalid? What do you mean exactly? > > That the repos location mentioned in the conflict data doesn't match the > repos location of the copy/move target. > > Suppose I check out ^/trunk to /tmp/wc, and later there's a conflict at > /tmp/wc/A. If I > > cd /tmp/wc > svn mv A B > > then B has conflict data derived from ^/trunk/A, which doesn't make > sense anymore.
The conflict data will say that the incoming change was the change from ^/trunk/A@LEFT and ^/trunk/A@RIGHT. That does make sense. There is still a ^/trunk/A@LEFT and a ^/trunk/A@RIGHT in the repo. They are the repos locations that were being diffed and merged or updated into the directory that is now locally located at /tmp/wc/B. I see no problem with this info. I am not saying there are no problems with such copies/moves, just I don't see a problem with the conflict-source info. - Julian > > We could remove the conflict data (from the copy/move target) > automatically, I suppose, perhaps with an implicit '--accept mine-full'. > This would require supporting --accept for tree conflicts, which we > haven't designed yet. > > Steve > > > > > > >> In an issue comment, Philip says: > >> > >> Perhaps we should simply prohibit copies where a conflict exists? > >> That would also solve another problem: actual-only node conflicts > >> are not copied. > >> > >> Along those lines, I propose to forbid copy or moving: > >> > >> 1. any conflict victim (text, property, or tree) > >> > >> 2. any directory containing conflicted children > >> > >> 3. any child of a tree-conflicted directory > >> > >> These apply to the move/copy source only. Resolving a tree conflict > >> may require copying or moving an item /into/ a conflicted tree. > >> > >> Also, a property conflict on a directory should not prevent copying or > >> moving the directory's children. > >> > >> Comments? > >> > >> I have a simple solution for #1 above, and the beginning of a test. > >> I'll commit them if I get a +1. > >> > >> Regards, > >> Steve > > > > > > -- > Stephen Butler | Senior Consultant > elego Software Solutions GmbH > Gustav-Meyer-Allee 25 | 13355 Berlin | Germany > tel: +49 30 2345 8696 | mobile: +49 163 25 45 015 > fax: +49 30 2345 8695 | http://www.elegosoft.com > Geschäftsführer: Olaf Wagner | Sitz der Gesellschaft: Berlin > Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 > >