introduce OnDiskRepository type to support using worktrees in Git operations #7819
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Related to #7445
Description
As part of sketching out the Git APIs I'd need to address rebase conflict detection I realised that I'd need worktrees, but they don't satisfy the
Repository
type because:Initially I went with building out APIs that worked against the worktree abstraction, but that felt suboptimal because I'd now need to support APIs that worked both against repositories and worktrees.
While refreshing myself about #7445 I realised that all our Git APIs only need the
path
to the repository, so that's where thisOnDiskRepository
type came from. Rather than refactor them all now, I'm going to:This also has the benefit of making much of our repository setup where we've hard-coded values to satisfy the
Repository
type unnecessary:desktop/app/test/helpers/repositories.ts
Lines 66 to 71 in d08b4a8
Release notes
Notes: no-notes