D5551: rust-cpython: using MissingAncestors from Python code

Yuya Nishihara yuya at tcha.org
Fri Jan 11 09:09:11 EST 2019


> +        bases = self._common.bases
> +        if callable(bases):
> +            # This happens for Rust exported object, and we don't know
> +            # at the moment how to make an equivalent of property for them
> +            bases = bases()
> +
>          # The presence of nullrev will confuse heads(). So filter it out.
>          return set(self._repo.revs('heads(%ld)',
> -                   self._common.bases - {nullrev}))
> +                                   (r for r in bases if r != nullrev)))

@lothiraldan Any idea on how to make this less ad-hoc?

If we'll never need bases of set type, maybe we can add `baseslist()` to both
Python and Rust implementations.


More information about the Mercurial-devel mailing list