Rev 6360: (jelmer) Don't complain about directory already existing in 'mkdir -p'. in file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

Patch Queue Manager pqm at pqm.ubuntu.com
Mon Dec 12 14:21:56 UTC 2011


At file:///srv/pqm.bazaar-vcs.org/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 6360 [merge]
revision-id: pqm at pqm.ubuntu.com-20111212142156-5zjw49zf7l0wxg6h
parent: pqm at pqm.ubuntu.com-20111212135617-wy5lwmdr49pw9401
parent: martin.packman at canonical.com-20111212132709-iqnqpeoz0eyf89b6
committer: Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2011-12-12 14:21:56 +0000
message:
  (jelmer) Don't complain about directory already existing in 'mkdir -p'.
   (Martin Packman)
modified:
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/tests/blackbox/test_mkdir.py test_mkdir.py-20111210210033-4ydo5voarpgjwkj0-1
=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2011-12-12 13:56:17 +0000
+++ b/bzrlib/builtins.py	2011-12-12 14:21:56 +0000
@@ -23,6 +23,7 @@
 from bzrlib.lazy_import import lazy_import
 lazy_import(globals(), """
 import cStringIO
+import errno
 import sys
 import time
 
@@ -781,7 +782,11 @@
         for dir in dir_list:
             wt, relpath = WorkingTree.open_containing(dir)
             if parents:
-                os.makedirs(dir)
+                try:
+                    os.makedirs(dir)
+                except OSError, e:
+                    if e.errno != errno.EEXIST:
+                        raise
             else:
                 os.mkdir(dir)
             add_file(wt, relpath)

=== modified file 'bzrlib/tests/blackbox/test_mkdir.py'
--- a/bzrlib/tests/blackbox/test_mkdir.py	2011-12-10 21:21:31 +0000
+++ b/bzrlib/tests/blackbox/test_mkdir.py	2011-12-12 13:25:39 +0000
@@ -27,7 +27,6 @@
     def test_mkdir(self):
         tree = self.make_branch_and_tree('.')
         self.run_bzr(['mkdir', 'somedir'])
-
         self.assertEquals(tree.kind(tree.path2id('somedir')), "directory")
 
     def test_mkdir_multi(self):
@@ -41,6 +40,18 @@
         self.run_bzr(['mkdir', '-p', 'somedir/foo'])
         self.assertEquals(tree.kind(tree.path2id('somedir/foo')), "directory")
 
+    def test_mkdir_parents_existing_versioned_dir(self):
+        tree = self.make_branch_and_tree('.')
+        tree.mkdir('somedir')
+        self.assertEquals(tree.kind(tree.path2id('somedir')), "directory")
+        self.run_bzr(['mkdir', '-p', 'somedir'])
+
+    def test_mkdir_parents_existing_unversioned_dir(self):
+        tree = self.make_branch_and_tree('.')
+        os.mkdir('somedir')
+        self.run_bzr(['mkdir', '-p', 'somedir'])
+        self.assertEquals(tree.kind(tree.path2id('somedir')), "directory")
+
     def test_mkdir_parents_with_unversioned_parent(self):
         tree = self.make_branch_and_tree('.')
         os.mkdir('somedir')




More information about the bazaar-commits mailing list