Source

parenti / parenti.py

Full commit
from mercurial.i18n import _
from collections import deque


def parenti(ui, repo, build_id, changeset_id):
    target = repo[changeset_id];
    to_do = deque([]);
    to_do.append(repo[build_id] );
    done = set();
    
    while to_do:
        current = to_do.popleft();
        if not current in done:
            if target == current:
                ui.write("build_id contains changeset_id\n");
                return;
            for c in current.parents():
                to_do.append(c);
            done.add(current);
    
    ui.write("build_id does not contain changeset_id\n");


cmdtable = {
    "parenti":
        (parenti,
         [ ],
         _('hg parenti build_id changeset_id')),
}