On Wed, Feb 18, 2009 at 9:57 AM, Emmanuel Lecharny <elecharny@apache.org> wrote:
>>
>> Clear() simply remove every entry from the
>> server _and_ from the changeLog,
>
> We should also have a clear() overload that takes a revision int parameter
> removing everything up to a specific revision.

right now, it takes a parameter whic is a long too, so you have both
methods : clear() and clear(long)

Right my bad - I meant long rather than int.

> You can do a revert(int a) followed by a clear(int a) to bring the server
> back to state 'a' and remove any record of changes in the changelog.

Better do a clear(). Unless the clear() just remove info from the
changeLog. In my mind, clear = remove from server and changelog.

clear() is a method that we're considering putting into the ChangeLog interface.  So it will not remove anything from the DIT but should remove change events from within the ChangeLog.

 

>> So the clear() semantic is : remove everything from server and
>> changelog
>
> Just from the changelog.

Doing so mean that you store reverted operation of the revert
operation which will be removed by the subsequent clear(). A bit
useless...

I don't think so. You need to log all changes otherwise you'll have anamolies and will realize later that certain things will not be possible.  Let's not inject "on offs" into this picture.  clear should just be a simple operation to remove all or some range of log entries.  Let's not over think this stuff. 

Alex