This will be useful for commit searches, and is generally supported by git so why not support it here. That also lets you express `A..B` as `B, ^A` if you want to do less string concatenation, for example.
Test plan:
Made sure all existing callers pass a non-empty string to the slice if they specify the slice at all, and all existing tests still pass.
This PR consolidates the client methods CommitGraph and Commits into one, to reduce the surface of APIs we have to migrate to gRPC and then maintain.
To my best understanding, this should be equivalent, just use a different API.
Test plan:
Existing test suites and integration tests are still passing.
There are lots of layers of indirection/plumbing for propagating
the various options/settings for matching uploads. There was also
a mix of terminology - 'toolName' in some places and 'indexer'
in some other places. 'exactPath' in some places and 'rootMustEnclosePath'
in other places. Grouping the various options into a struct provides
a central place to document how the path matching happens,
as well as special arguments such as `shared.SyntacticIndexer`.
This also makes it much easier to understand where the various
upload matching options are used via 'Find usages' in the editor.
As a nice side-effect, the noise of creating o11y-related K-V pairs
is also reduced.
'Dump' really meant an uploads that is a 'completed' state,
and hence is eligible for various operations such as 'Find references'
This patch makes that explicit by removing the term 'Dump'
from the backend in favor of 'CompletedUpload'
Movin enterprise codeintel stuff (and ~two others that had to be dragged
along) out of `enterprise/internal` and into `internal` as part of the
shift towards enterprise-only
## Test plan
Successfully built frontend with bazel, CI will check the rest
😎 no logic changed, just shufflin things around
Creating and tagging operations now create loggers embedded into the various Observation types that can be used directly for ✨ structured logs ✨. See internal/observation package docs for more details.