Bug 5594 - glossary entry for "descendant" is misleading / wrong
Summary: glossary entry for "descendant" is misleading / wrong
Status: RESOLVED FIXED
Alias: None
Product: Mercurial
Classification: Unclassified
Component: Mercurial (show other bugs)
Version: 4.2.1
Hardware: All All
: wish bug
Assignee: Bugzilla
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-14 12:28 UTC by glob
Modified: 2017-06-21 11:12 UTC (History)
2 users (show)

See Also:
Python Version: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description glob 2017-06-14 12:28 UTC
from the hg man page..

> x::y
>    A DAG range, meaning all changesets that are descendants of x and
>    ancestors of y, including x and y themselves. If the first endpoint
>    is left out, this is equivalent to ancestors(y), if the second is left
>    out it is equivalent to descendants(x).
>
> descendants(set)
>    Changesets which are descendants of changesets in set.

so "x::" is the same as "descendants(x)", which is "descendants of x including x itself".

what's a descendant exactly according to the glossary?

> Descendant
>    Any changeset that can be reached by a chain of child changesets from
>    a given changeset.  More precisely, the descendants of a changeset can
>    be defined by two properties: the child of a changeset is a descendant,
>    and the child of a descendant is a descendant.

this definition indicates that a descendant does not include the changeset itself, which is in conflict with what descendants() does.
Comment 1 Yuya Nishihara 2017-06-18 09:48 UTC
The help of descendants(set) seems inaccurate.
Comment 2 glob 2017-06-20 23:49 UTC
looks like this was fixed via https://www.mercurial-scm.org/repo/hg/rev/2851b24eecc4
Comment 3 Yuya Nishihara 2017-06-21 11:12 UTC
Yes. Bug closing bot seems not working these days. Thanks!