D10840: clone: cleanup the "cleanup dir" logic used during local clone
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Wed Jun 9 14:37:12 UTC 2021
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
With the previous code, there was a small windows were we could delete too much
data. This should no longer be the case.
(This is an opportunity improvement while looking at something next to that.)
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D10840
AFFECTED FILES
mercurial/hg.py
CHANGE DETAILS
diff --git a/mercurial/hg.py b/mercurial/hg.py
--- a/mercurial/hg.py
+++ b/mercurial/hg.py
@@ -825,7 +825,12 @@
abspath = os.path.abspath(urlutil.urllocalpath(origsource))
if islocal(dest):
- cleandir = dest
+ if os.path.exists(dest):
+ # only clean up directories we create ourselves
+ hgdir = os.path.realpath(os.path.join(dest, b".hg"))
+ cleandir = hgdir
+ else:
+ cleandir = dest
copy = False
if (
@@ -855,9 +860,6 @@
hgdir = os.path.realpath(os.path.join(dest, b".hg"))
if not os.path.exists(dest):
util.makedirs(dest)
- else:
- # only clean up directories we create ourselves
- cleandir = hgdir
try:
destpath = hgdir
util.makedir(destpath, notindexed=True)
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list