##// END OF EJS Templates
parsers: optimize filtered headrevs logic...
Durham Goode -
r28386:1c658391 default
parent child Browse files
Show More
@@ -1446,10 +1446,15 b' static PyObject *index_headrevs(indexObj'
1446 1446 goto bail;
1447 1447 }
1448 1448
1449 for (i = 0; i < len; i++) {
1449 for (i = len - 1; i >= 0; i--) {
1450 1450 int isfiltered;
1451 1451 int parents[2];
1452 1452
1453 /* If nothead[i] == 1, it means we've seen an unfiltered child of this
1454 * node already, and therefore this node is not filtered. So we can skip
1455 * the expensive check_filter step.
1456 */
1457 if (nothead[i] != 1) {
1453 1458 isfiltered = check_filter(filter, i);
1454 1459 if (isfiltered == -1) {
1455 1460 PyErr_SetString(PyExc_TypeError,
@@ -1461,6 +1466,7 b' static PyObject *index_headrevs(indexObj'
1461 1466 nothead[i] = 1;
1462 1467 continue;
1463 1468 }
1469 }
1464 1470
1465 1471 if (index_get_parents(self, i, parents, (int)len - 1) < 0)
1466 1472 goto bail;
General Comments 0
You need to be logged in to leave comments. Login now