def transplantwalk(repo, root, branches, match=util.always): if not branches: branches = repo.heads() ancestors = [] for branch in branches: ancestors.append(repo.changelog.ancestor(root, branch)) for node in repo.changelog.nodesbetween(ancestors, branches)[0]: if match(node): yield node
def transplantwalk(repo, dest, heads, match=util.always): '''Yield all nodes that are ancestors of a head but not ancestors of dest. If no heads are specified, the heads of repo will be used.''' if not heads: heads = repo.heads() ancestors = [] for head in heads: ancestors.append(repo.changelog.ancestor(dest, head)) for node in repo.changelog.nodesbetween(ancestors, heads)[0]: if match(node): yield node
def incwalk(repo, csets, match=util.always): for node in csets: if match(node): yield node
def incwalk(repo, incoming, branches, match=util.always): if not branches: branches = None for node in repo.changelog.nodesbetween(incoming, branches)[0]: if match(node): yield node