> The separate clear() and revert() operations decouples functionality. The > revertAndClear() operations both couples functionality together. You might > find situations where you just need to clear() or just to revert() and > sometimes to do both as is the case now. When we break things down into > simpler functions that do one thing and only one thing well then it's easier > to recombine them to suite different situations. This may also lead to > better interface design.
Having thought about those methods a bit more, I think that clear() and revert() are different. Clear() simply remove every entry from the server _and_ from the changeLog, when revert() remove entries from the server bug logs revert operations into the changeLog. You can't do a revert() followed by a clear(), it's a waste, as everything you will write in the changeLog in the revert() method will be erased by the clear() method. So the clear() semantic is : remove everything from server and changelog up to the latest tag (or up to a specified tag) and the revert() semantic is : revert everything from the serve, but log the reverted operations in the changeLog. You can revert a revert (redo). > > Alex > > -- Regards, Cordialement, Emmanuel Lécharny www.iktek.com
