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.
This branch is a cleaner implementation of the --rmtree functionality that was included in PR#420 (which I propose be abandoned - I will make a separate PR for its other changes.
The rmtree command leverages the existing read_dir function to handle the directory walk, and updates that function to enable a depth-first walk (so that we can fully delete a directory's contents before deleting the directory itself). I decided that the cleanest change was to call the callback both before and after processing the directory's contents, so the callback can act on either or both of these events according to its requirements.