##// END OF EJS Templates
makedirs: abort if parent == name (issue2531)...
Adrian Buehlmann -
r13068:adff480d stable
parent child Browse files
Show More
@@ -833,6 +833,7 b' class atomictempfile(object):'
833
833
834 def makedirs(name, mode=None):
834 def makedirs(name, mode=None):
835 """recursive directory creation with parent mode inheritance"""
835 """recursive directory creation with parent mode inheritance"""
836 parent = os.path.abspath(os.path.dirname(name))
836 try:
837 try:
837 os.mkdir(name)
838 os.mkdir(name)
838 if mode is not None:
839 if mode is not None:
@@ -841,9 +842,8 b' def makedirs(name, mode=None):'
841 except OSError, err:
842 except OSError, err:
842 if err.errno == errno.EEXIST:
843 if err.errno == errno.EEXIST:
843 return
844 return
844 if not name or err.errno != errno.ENOENT:
845 if not name or parent == name or err.errno != errno.ENOENT:
845 raise
846 raise
846 parent = os.path.abspath(os.path.dirname(name))
847 makedirs(parent, mode)
847 makedirs(parent, mode)
848 makedirs(name, mode)
848 makedirs(name, mode)
849
849
General Comments 0
You need to be logged in to leave comments. Login now