[PATCH] util: postpone and reorder parent calculation in makedirs
Adrian Buehlmann
adrian at cadifra.com
Thu Aug 25 04:05:17 CDT 2011
# HG changeset patch
# User Adrian Buehlmann <adrian at cadifra.com>
# Date 1314262996 -7200
# Node ID 3030ec218bf45d1d063b75a16b4df20b7ce751e9
# Parent ff3e9368630663194c00bf47bee7097936fb4b51
util: postpone and reorder parent calculation in makedirs
diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -780,13 +780,15 @@
def makedirs(name, mode=None):
"""recursive directory creation with parent mode inheritance"""
- parent = os.path.abspath(os.path.dirname(name))
try:
os.mkdir(name)
except OSError, err:
if err.errno == errno.EEXIST:
return
- if not name or parent == name or err.errno != errno.ENOENT:
+ if err.errno != errno.ENOENT or not name:
+ raise
+ parent = os.path.dirname(os.path.abspath(name))
+ if parent == name:
raise
makedirs(parent, mode)
os.mkdir(name)
More information about the Mercurial-devel
mailing list