2399
2400
absent_ids = set(revision_ids.intersection(ghosts))
2400
2401
# If all absent_ids are present in target, no error is needed.
2401
2402
absent_ids.difference_update(
2404
2405
raise errors.NoSuchRevision(self.source, absent_ids.pop())
2405
2406
# we don't care about other ghosts as we can't fetch them and
2407
2408
next_revs = set(next_revs)
2408
2409
# we always have NULL_REVISION present.
2410
2411
missing_revs.update(next_revs - have_revs)
2411
2412
searcher.stop_searching_any(have_revs)
2412
2413
return searcher.get_result()