Skip to content
Snippets Groups Projects
Commit 3afde791 authored by Mads Kiilerich's avatar Mads Kiilerich
Browse files

largefiles: handle that a found standin file doesn't exist when removing it

I somehow ended up in a situation where hg crashed on an unlink I introduced in
328545c7d8a1.

I don't know how it happened and can't reproduce it. It seems like it only can
happen when the file is removed between the time of check in a working
directory context walk that finds a standin file, and the time of use when we
try to remove it because the corresponding largefile doesn't exist.

But better safe than sorry: replace the plain unlink with unlinkpath with
ignoremissing=True. That will also remove remaining empty directories, which
arguably is more correct.
parent 362740e0
No related branches found
No related tags found
No related merge requests found
......@@ -217,7 +217,7 @@
# standin. Removing a file as a side effect of
# running status is gross, but the alternatives (if
# any) are worse.
self.wvfs.unlink(standin)
self.wvfs.unlinkpath(standin, ignoremissing=True)
# Filter result lists
result = list(result)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment