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

Re: Obliterate questions

From: Martin Furter <mf_at_rola.ch>
Date: Tue, 17 Nov 2009 19:14:26 +0100 (CET)

On Tue, 17 Nov 2009, Julian Foad wrote:

> Martin Furter wrote:
>> On Mon, 16 Nov 2009, Daniel Shahaf wrote:
>>> Philip Martin wrote on Mon, 16 Nov 2009 at 19:31 -0000:
>>>> Martin Furter <mf_at_rola.ch> writes:
>>>>> On Mon, 16 Nov 2009, Philip Martin wrote:
>>>>>> How about replacing the text of a file, to obliterate a few
>>>>>> characters, rather than obliterating the whole text.
>>>>>
>>>>> Say that revision was committed a few weeks ago and development continued.
>>>>> So there were changes to that file in later revisions.
>>>>>
>>>>> How would you solve the conflicts when obliterating those later revisions?
>>>>
>>>> Conflicts? Obliterate operates on a given revision and obliterates
>>>> whatever that revision contains.
>>>
>>> If you modify the text of an early revision, and a later revision is
>>> stored as a delta against the early revision, wouldn't the representation
>>> of the later revision possibly become corrupted?
>>
>> Or in fs_bdb where HEAD is fulltext (it's still that way right?) some
>> earlier revisions could becom corrupted.
>
> 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?

Thanks,
Martin

------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2419044
Received on 2009-11-17 19:27:00 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.