[PATCH 8 of 8] changelog: exclude abandoned changesets from heads

Pierre-Yves David pierre-yves.david at logilab.fr
Mon Jun 6 07:48:19 CDT 2011


On Wed, Jun 01, 2011 at 12:04:06PM -0500, Matt Mackall wrote:
> On Wed, 2011-06-01 at 18:42 +0200, Martin Geisler wrote:
> > # HG changeset patch
> > # User Martin Geisler <mg at lazybytes.net>
> > # Date 1306946536 -7200
> > # Node ID cdb30508594ea84cc81a1ab3c6adf7c9b17e6691
> > # Parent  ff0d35c68b063db94e29809ac52281f099b9e365
> > changelog: exclude abandoned changesets from heads
> > 
> > This effectively cuts off the abandoned changesets from the changelog
> > graph.
> 
> Please instead implement this via a generic hidden facility as described
> here:
> 
> http://mercurial.selenic.com/wiki/StatesPlan#Hidden_changesets

I propose a bit richer interface for hidden changeset:

hidden methods will return "None" if the changeset is not hidden, otherwise it
returns a three tuple (<time>, <author>, <reason>).

<time> will be the date when the operation that make this changeset hidden
occurred, <author> will be the responsible user and <reason> a string describing
why this changeset his hidden.

In the abandon case the value will be:

    <time> = commit time of the abandoning changeset
    <author> = author of the abandoning changeset
    <reason> = "Abandoned by <abandoning changeset id>"

Having a richer interface will help us to print useful data about changeset
hidden by various sources. Hiding changeset is tightly liked to editing
history. Editing history is a tricky topic, offering as much data as possible
to the user is important.

Implementation wise, the hidden set will be a dictionary. Allowing None value
for <time>, <author> or <reason> is to be discussed.

-- 
Pierre-Yves David

http://www.logilab.fr/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20110606/ce005e8c/attachment.pgp>


More information about the Mercurial-devel mailing list