mercurial/shelve.py
changeset 46283 8db5fa212ab0
parent 46282 0a69f9e640ec
child 46284 d7f763c8c58e
--- a/mercurial/shelve.py	Thu Jan 07 16:08:30 2021 -0800
+++ b/mercurial/shelve.py	Thu Jan 07 22:38:19 2021 -0800
@@ -602,10 +602,11 @@
     """subcommand that deletes all shelves"""
 
     with repo.wlock():
-        for (name, _type) in repo.vfs.readdir(shelvedir):
-            suffix = name.rsplit(b'.', 1)[-1]
-            if suffix in shelvefileextensions:
-                shelvedfile(repo, name).movetobackup()
+        for _mtime, name in listshelves(repo):
+            for suffix in shelvefileextensions:
+                shfile = shelvedfile(repo, name, suffix)
+                if shfile.exists():
+                    shfile.movetobackup()
             cleanupoldbackups(repo)