fix: issue #1882 WorkflowError: Metadata can't be created as it already exists (Windows) #1971
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.
Description
Fixes issue #1882: WorkflowError: Metadata can't be created as it already exists (Windows)
The underlying cause of the problem is that
os.rename
was used to overwrite the target file. Unfortunately, it has a different behavior under Unix/Linux (overwrites target) and Windows (fails).os.replace
is an alternative toos.rename
that simulates the Unix behavior.The required change is extremely small (commit 4ad1ab1) and I have also added a test case covering it (commit e12955f).
QC
docs/
) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).