iterator: drop `advance_into_or_over` Now that iterators do not return `GIT_ENOTFOUND` when advancing into an empty directory, we do not need a special `advance_into_or_over` function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
diff --git a/src/checkout.c b/src/checkout.c
index 0fbb7fc..fed1819 100644
--- a/src/checkout.c
+++ b/src/checkout.c
@@ -657,7 +657,7 @@ static int checkout_action(
if (cmp == 0) {
if (wd->mode == GIT_FILEMODE_TREE) {
/* case 2 - entry prefixed by workdir tree */
- error = git_iterator_advance_into_or_over(wditem, workdir);
+ error = git_iterator_advance_into(wditem, workdir);
if (error < 0 && error != GIT_ITEROVER)
goto done;
continue;
diff --git a/src/iterator.h b/src/iterator.h
index d64d63f..85444f1 100644
--- a/src/iterator.h
+++ b/src/iterator.h
@@ -223,25 +223,6 @@ GIT_INLINE(int) git_iterator_advance_over(
}
/**
- * Advance into a tree or skip over it if it is empty.
- *
- * Because `git_iterator_advance_into` may return GIT_ENOTFOUND if the
- * directory is empty (only with filesystem and working directory
- * iterators) and a common response is to just call `git_iterator_advance`
- * when that happens, this bundles the two into a single simple call.
- */
-GIT_INLINE(int) git_iterator_advance_into_or_over(
- const git_index_entry **entry, git_iterator *iter)
-{
- int error = iter->cb->advance_into(entry, iter);
- if (error == GIT_ENOTFOUND) {
- giterr_clear();
- error = iter->cb->advance(entry, iter);
- }
- return error;
-}
-
-/**
* Go back to the start of the iteration.
*/
GIT_INLINE(int) git_iterator_reset(git_iterator *iter)