On Tue, 2009-11-17 at 12:50 -0800, Mike A wrote:
> Martin Furter wrote:
> > On Tue, 17 Nov 2009, Julian Foad wrote:
> >> No, no, nothing will be corrupted. Part of the job of the software
> >> functions that implement "obliterate a specified node-rev of file F"
> >> will be to adjust any deltas, pointers, etc. in whatever way is needed
> >> to make all other copies and revisions of F stay exactly as they were,
> >> if the user doesn't want to obliterate all revisions and all copies of
> >> F.
> >>
> >>> Additionally you just checkout HEAD and it still contains the parts
> >>> which
> >>> should have been obliterated.
> >>
> >> No. Same reason as above.
> >
> > OK, makes sense so far. But then we're back at my first question.
> >
> > Let's ignore all the FS implementation details and assume it stores
> > fulltext for every revision. And I have added line 5 to the file hello.txt
> > in revision 10 and changed that line in revision 20. Now I want to
> > obliterate revision 10.
> >
> > If I understand you right obliterate would reverse merge that change to
> > all revisions since r10. Wouldn't it lead to a conflict in r20 since it
> > tries to merge a change to a line which has also been modified there?
> >
> That would only be true if the semantics of Obliterate were equivalent to
> "Undo the changes in Rev 10." But the semantics of Obliterate are "Remove
> Rev 10 from the repo leaving Rev 11 exactly as it was." IOW, the difference
> between Rev 9 and Rev 11 should be unchanged by the Obliterate.
Correct. Thanks, Mike.
- Julian
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2419237
Received on 2009-11-18 01:46:45 CET