Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
revert change to
ignore_skip_worktree
in git checkout
and `git re…
…store` (#674) This reverts #658 and essentially reopens microsoft/VFSForGit#1812. Resolves #673. The issue is that by overriding the `ignore_skip_wortree` value (normally set by `--ignore-skip-worktree`) we then force Git to hydrate the entire working directory in a `git restore .`. This leads to some interesting trade-offs: 1. Users on v2.45.2.vfs.0.2 (where `git restore .` overhydrates), they can use `git reset --hard` as a better representation of this behavior. 2. Users on any Git version can use `git restore --ignore-skip-worktree -- <pathspec>` when using a smaller-scale pathspec that corresponds to files they care about and probably have hydrated. I will include these workarounds in the VFS for Git issue. To get to a real solution here, we would somehow need to turn the `ignore_skip_worktree` bit into two bits: a. A bit to say "update index entries that have `SKIP_WORKTREE` set". b. A bit to say "update the working directory even if `SKIP_WORKTREE` is set". And perhaps this "working directory" version is what was intended when adding the `--ignore-skip-worktree` option, but it's more involved and has upstream implications to make changes here.
- Loading branch information