Clean untracked files from working directory #253
Closed
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.
Current checkout tests rely on
Reset
to update the tracked and untracked files in a working directory. However, proper behavior is forReset
to only modify the tracked files. This PR:Some other thoughts:
CleanWorkingDirectory
implemented on theIndex
class, but I could see this exposed off of theRepository
class as well, which is where some other methods that impact both the index and the working directory exist (e.g.Reset
).git_checkout_index
with a parameter indicating that it should remove untracked files. This means that not all the coregit clean
options are supported, such as removing ignored files as well. If there are other cases where cleaning withgit_checkout_index
does not behave as we want here, please bring them up as well.