98
98
if not REVISION_ID_RE.match(rid):
99
99
raise ValueError("malformed revision-id %r" % rid)
103
102
"""Return true if candidate_id is an ancestor of revision_id.
105
103
A false negative will be returned if any intermediate descendent of
106
104
candidate_id is not present in any of the revision_sources.
108
106
revisions_source is an object supporting a get_revision operation that
114
115
def iter_ancestors(revision_id, revision_source, only_present=False):
115
116
ancestors = (revision_id,)