Mercurial > hg
changeset 51430:187c5769a629
vfs: have tryunlink tell what it did
It is useful in certain circumstances to know whether vfs.tryunlink()
actually removed something or not, be it for logging purposes.
author | Georges Racinet <georges.racinet@octobus.net> |
---|---|
date | Wed, 17 Jan 2024 14:26:58 +0100 |
parents | bc88aa7472de |
children | fe68a2dc0bf2 |
files | mercurial/util.py mercurial/vfs.py |
diffstat | 2 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/util.py Sat Nov 26 12:23:56 2022 +0100 +++ b/mercurial/util.py Wed Jan 17 14:26:58 2024 +0100 @@ -2610,12 +2610,16 @@ pass -def tryunlink(f: bytes) -> None: - """Attempt to remove a file, ignoring FileNotFoundError.""" +def tryunlink(f: bytes) -> bool: + """Attempt to remove a file, ignoring FileNotFoundError. + + Returns False in case the file did not exit, True otherwise + """ try: unlink(f) + return True except FileNotFoundError: - pass + return False def makedirs(
--- a/mercurial/vfs.py Sat Nov 26 12:23:56 2022 +0100 +++ b/mercurial/vfs.py Wed Jan 17 14:26:58 2024 +0100 @@ -303,7 +303,7 @@ def tryunlink(self, path: Optional[bytes] = None): """Attempt to remove a file, ignoring missing file errors.""" - util.tryunlink(self.join(path)) + return util.tryunlink(self.join(path)) def unlinkpath( self, path: Optional[bytes] = None, ignoremissing=False, rmdir=True