dont rmdir volume top on cleanup

This commit is contained in:
ed 2023-02-26 18:28:37 +00:00
parent 4de028fc3b
commit 1e3b7eee3b
2 changed files with 8 additions and 5 deletions

View file

@ -2921,7 +2921,7 @@ class Up2k(object):
if is_dir:
ok, ng = rmdirs(self.log_func, scandir, True, atop, 1)
ok2, ng2 = rmdirs_up(os.path.dirname(atop))
ok2, ng2 = rmdirs_up(os.path.dirname(atop), ptop)
return n_files, ok + ok2, ng + ng2
@ -2980,7 +2980,7 @@ class Up2k(object):
curs.clear()
rmdirs(self.log_func, scandir, True, sabs, 1)
rmdirs_up(os.path.dirname(sabs))
rmdirs_up(os.path.dirname(sabs), svn.realpath)
return "k"
def _mv_file(

View file

@ -2278,18 +2278,21 @@ def rmdirs(
return ok, ng
def rmdirs_up(top: str) -> tuple[list[str], list[str]]:
def rmdirs_up(top: str, stop: str) -> tuple[list[str], list[str]]:
"""rmdir on self, then all parents"""
if top == stop:
return [], [top]
try:
os.rmdir(fsenc(top))
except:
return [], [top]
par = os.path.dirname(top)
if not par:
if not par or par == stop:
return [top], []
ok, ng = rmdirs_up(par)
ok, ng = rmdirs_up(par, stop)
return [top] + ok, ng