# HG changeset patch # User Pierre-Yves David # Date 1315941331 -7200 # Node ID aee53d5468492a158a1615bb8ab510e33a66cd94 # Parent 6f7824dbce2487f691790c46de475289f1f1b1d4 [obsolete] update doc diff -r 6f7824dbce24 -r aee53d546849 hgext/obsolete.py --- a/hgext/obsolete.py Tue Sep 13 20:24:44 2011 +0200 +++ b/hgext/obsolete.py Tue Sep 13 21:15:31 2011 +0200 @@ -5,6 +5,68 @@ # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. +"""Introduce the Obsolete concept to mercurial + +General concept +=============== + +This extension introduces the *obsolete* concept. It adds a new *obsolete* +relation between two changesets. A relation `` obsolete `` is set to denote that ```` is new version of ````. + +The *obsolete* relation act as a **perpendicular history** to the standard +changeset history. Standard changeset history versions files. The *obsolete* +relation versions changesets. + +:obsolete: a changeset that have been replace by another one. +:out of sync: a non-obsolet changeset based on another one. +:suspended: an obsolete changeset with out of sync descendant. + + + +Usage and Feature +================= + + +Display and Exchange +.................... + +obsolete changesets are hidden. (except if they have non obsolete changeset) + +obsolete changesets are currently not exchange. This will probably change later +but it was the simpler solution for now. + +New commands +............ + +a ``debugobsolete`` command has been added. + +It add an obsolete relation between too relation. + +Context object +.............. + +Context gain a ``obsolete`` method that return True if a changeset is obsolete +False otherwise. + +revset +...... + +Add an ``obsolete()`` entry. + +To Do +----- + +* refuse to obsolete published changesets + +* handle split + +* handle conflict + +* handle out of sync + +""" import os try: from cStringIO import StringIO