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 is due to a stall a bunch of tests in appveyor and on windows in general.
Turns out a bunch of semantics for file moving were flat out wrong and different between windows and POSIX. This PR adds a bunch of tests for the expected behaviour that I roundtripped between a windows10 and a linux computer to make sure they agree on the behaviour and that it works the same.
There's some ugly stuff there, such as
xcopy
not handling long paths properly, forcing us to move torobocopy
, which does not allow renaming as part of moving a file. This requires using temporary directories to rename files as an intermediary to avoid clobbering.For directories this isn't a problem, but the
mv
behaviour has to be replicated still because it is not the default on windows with robocopy.