Allow WorkingTree.add() arguments to be strings.
authorJelmer Vernooij <jelmer@samba.org>
Sun, 11 Mar 2007 01:58:22 +0000 (02:58 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Sun, 11 Mar 2007 01:58:22 +0000 (02:58 +0100)
checkout.py
tests/test_workingtree.py

index 41133aff2788b9a15127a69e6bc8aeaac0f5e32c..6aa9ecefe7316a2ffe9b108fe2661638d34856e9 100644 (file)
@@ -423,6 +423,10 @@ class SvnWorkingTree(WorkingTree):
         return revid
 
     def add(self, files, ids=None):
+        if isinstance(files, str):
+            files = [files]
+            if isinstance(ids, str):
+                ids = [ids]
         if ids:
             ids = copy(ids)
             ids.reverse()
index ef6150fb837dd683beef3bc8a2ee4cf4f81ac5c6..c25a6b9b36ce59607598fcacc6ce2d6341fe5545 100644 (file)
@@ -57,6 +57,29 @@ class TestWorkingTree(TestCaseWithSubversionRepository):
         self.assertTrue(inv.has_filename("bl"))
         self.assertFalse(inv.has_filename("aa"))
 
+    def test_add_nolist(self):
+        self.make_client('a', 'dc')
+        self.build_tree({"dc/bl": "data"})
+        tree = WorkingTree.open("dc")
+        tree.add("bl")
+
+        inv = tree.read_working_inventory()
+        self.assertIsInstance(inv, Inventory)
+        self.assertTrue(inv.has_filename("bl"))
+        self.assertFalse(inv.has_filename("aa"))
+
+    def test_add_nolist_withid(self):
+        self.make_client('a', 'dc')
+        self.build_tree({"dc/bl": "data"})
+        tree = WorkingTree.open("dc")
+        tree.add("bl", "bloe")
+
+        inv = tree.read_working_inventory()
+        self.assertIsInstance(inv, Inventory)
+        self.assertTrue(inv.has_filename("bl"))
+        self.assertFalse(inv.has_filename("aa"))
+        self.assertEqual("bloe", tree.inventory.path2id("bl"))
+
     def test_add_not_recursive(self):
         self.make_client('a', 'dc')
         self.build_tree({"dc/bl/file": "data"})