Stash workdir correctly when added in the index, modified in the workdir #3250
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.
We do not presently stash files correctly when a file is added in the index and then modified in the working directory. We are examining only the working directory with regard to the HEAD, and without examining the index as well (with that file staged) we treat that file as untracked and thus do not include it in the workdir tree.
Correct that by using a diff that includes the index similar to
git_diff_tree_to_workdir_with_index
but with different special cases. (git_diff_tree_to_workdir_with_index
is aimed at producing something likegit diff
and so collapses some cases - we differ in that we want to ensure that we still pay attention to the workdir side when the index side is deleted.)