2063 default: |
2063 default: |
2064 return 1; |
2064 return 1; |
2065 } |
2065 } |
2066 } |
2066 } |
2067 |
2067 |
|
2068 static PyObject *index_m_has_node(indexObject *self, PyObject *args) |
|
2069 { |
|
2070 int ret = index_contains(self, args); |
|
2071 if (ret < 0) |
|
2072 return NULL; |
|
2073 return PyBool_FromLong((long)ret); |
|
2074 } |
|
2075 |
2068 typedef uint64_t bitmask; |
2076 typedef uint64_t bitmask; |
2069 |
2077 |
2070 /* |
2078 /* |
2071 * Given a disjoint set of revs, return all candidates for the |
2079 * Given a disjoint set of revs, return all candidates for the |
2072 * greatest common ancestor. In revset notation, this is the set |
2080 * greatest common ancestor. In revset notation, this is the set |
2721 METH_VARARGS, |
2729 METH_VARARGS, |
2722 "return the heads of the common ancestors of the given revs"}, |
2730 "return the heads of the common ancestors of the given revs"}, |
2723 {"clearcaches", (PyCFunction)index_clearcaches, METH_NOARGS, |
2731 {"clearcaches", (PyCFunction)index_clearcaches, METH_NOARGS, |
2724 "clear the index caches"}, |
2732 "clear the index caches"}, |
2725 {"get", (PyCFunction)index_m_get, METH_VARARGS, "get an index entry"}, |
2733 {"get", (PyCFunction)index_m_get, METH_VARARGS, "get an index entry"}, |
|
2734 {"has_node", (PyCFunction)index_m_has_node, METH_O, |
|
2735 "return True if the node exist in the index"}, |
2726 {"computephasesmapsets", (PyCFunction)compute_phases_map_sets, METH_VARARGS, |
2736 {"computephasesmapsets", (PyCFunction)compute_phases_map_sets, METH_VARARGS, |
2727 "compute phases"}, |
2737 "compute phases"}, |
2728 {"reachableroots2", (PyCFunction)reachableroots2, METH_VARARGS, |
2738 {"reachableroots2", (PyCFunction)reachableroots2, METH_VARARGS, |
2729 "reachableroots"}, |
2739 "reachableroots"}, |
2730 {"headrevs", (PyCFunction)index_headrevs, METH_VARARGS, |
2740 {"headrevs", (PyCFunction)index_headrevs, METH_VARARGS, |