100
77
if not REVISION_ID_RE.match(rid):
101
78
raise ValueError("malformed revision-id %r" % rid)
104
82
"""Return true if candidate_id is an ancestor of revision_id.
105
84
A false negative will be returned if any intermediate descendent of
106
85
candidate_id is not present in any of the revision_sources.
108
87
revisions_source is an object supporting a get_revision operation that
118
93
def iter_ancestors(revision_id, revision_source, only_present=False):
119
94
ancestors = (revision_id,)