LSIF: Improve remote references in same repo
Created by: efritz
This implements RFC 58 which will special-case finding remote references for dumps of the same repository.
For dumps of other repositories, these dumps must be visible at the tip. For dumps of the same repository, the closest commits are chosen with non-overlapping roots.
Reviewer notes:
Only 320 relevant lines changed: backend and xrepo. The rest are updates to testing and test utils.
Backend has split remoteReferences
into remoteReferences
, a similar function sameRepositoryRemoteReferences
, and a common helper locationsFromRemoteReferences
. These methods basically call an equivalent method in xrepo. This file also updated its pagination to deal with the case where we're looking at the result set consisting of same repo dumps, or distinct repo dumps.
Xrepo adds the method getSameRepoRemoteReferences
.
Tasklist:
-
Add explicit test for both pagination conditions at once.