Rev 373: tests in http://people.samba.org/bzr/jelmer/bzr-svn/bzr.dev

Jelmer Vernooij jelmer at samba.org
Wed Jan 3 12:15:30 GMT 2007


------------------------------------------------------------
revno: 373
revision-id: jelmer at samba.org-20070103121508-uccwc69drzhsk496
parent: jelmer at samba.org-20070103111926-pxiao209rh4rw3x9
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: main
timestamp: Wed 2007-01-03 13:15:08 +0100
message:
  tests
modified:
  checkout.py                    workingtree.py-20060306120941-b083cb0fdd4a69de
  tests/test_workingtree.py      test_workingtree.py-20060622191524-0di7bc3q1ckdbybb-1
  tree.py                        tree.py-20060624222557-dudlwqcmkf22lt2s-1
=== modified file 'checkout.py'
--- a/checkout.py	2007-01-01 21:49:06 +0000
+++ b/checkout.py	2007-01-03 12:15:08 +0000
@@ -77,12 +77,13 @@
         pass
 
     def get_ignore_list(self):
-        ignores = []
+        ignores = svn.wc.get_default_ignores(svn_config)
 
         def dir_add(wc, prefix):
-            ignores.append(os.path.join(prefix, svn.wc.get_adm_dir()))
-            for pat in svn.wc.get_ignores(svn_config, wc):
-                ignores.append(os.path.join(prefix, pat))
+            ignorestr = svn.wc.prop_get(svn.core.SVN_PROP_IGNORE, self.abspath(prefix).rstrip("/"), wc)
+            if ignorestr is not None:
+                for pat in ignorestr.splitlines():
+                    ignores.append("./"+os.path.join(prefix, pat))
 
             entries = svn.wc.entries_read(wc, False)
             for entry in entries:

=== modified file 'tests/test_workingtree.py'
--- a/tests/test_workingtree.py	2006-12-22 19:14:38 +0000
+++ b/tests/test_workingtree.py	2007-01-03 12:15:08 +0000
@@ -22,7 +22,11 @@
 from bzrlib.trace import mutter
 from bzrlib.workingtree import WorkingTree
 
+import svn.core
+import svn.wc
+
 import os
+
 import format
 import checkout
 from repository import MAPPING_VERSION
@@ -53,6 +57,43 @@
         self.assertTrue(inv.has_filename("bl"))
         self.assertFalse(inv.has_filename("aa"))
 
+    def test_lock_write(self):
+        self.make_client('a', 'dc')
+        tree = WorkingTree.open("dc")
+        tree.lock_write()
+
+    def test_lock_read(self):
+        self.make_client('a', 'dc')
+        tree = WorkingTree.open("dc")
+        tree.lock_read()
+
+    def test_unlock(self):
+        self.make_client('a', 'dc')
+        tree = WorkingTree.open("dc")
+        tree.unlock()
+
+    def test_get_ignore_list_empty(self):
+        self.make_client('a', 'dc')
+        tree = WorkingTree.open("dc")
+        self.assertEqual(svn.core.SVN_CONFIG_DEFAULT_GLOBAL_IGNORES.split(" "), tree.get_ignore_list())
+
+    def test_get_ignore_list_onelevel(self):
+        self.make_client('a', 'dc')
+        self.client_set_prop("dc", "svn:ignore", "*.d\n*.c\n")
+        tree = WorkingTree.open("dc")
+        self.assertEqual(svn.core.SVN_CONFIG_DEFAULT_GLOBAL_IGNORES.split(" ") + ["./*.d", "./*.c"], tree.get_ignore_list())
+
+    def test_get_ignore_list_morelevel(self):
+        self.make_client('a', 'dc')
+        self.client_set_prop("dc", "svn:ignore", "*.d\n*.c\n")
+        self.build_tree({'dc/x': None})
+        self.client_add("dc/x")
+        self.client_set_prop("dc/x", "svn:ignore", "*.e\n")
+        tree = WorkingTree.open("dc")
+        self.assertEqual(svn.core.SVN_CONFIG_DEFAULT_GLOBAL_IGNORES.split(" ") + ["./*.d", "./*.c", "./x/*.e"], tree.get_ignore_list())
+
+
+
     def test_add_reopen(self):
         self.make_client('a', 'dc')
         self.build_tree({"dc/bl": "data"})
@@ -200,9 +241,9 @@
 
         tree = WorkingTree.open("dc")
         ignorelist = tree.get_ignore_list()
-        self.assertTrue("bl/test.*" in ignorelist)
-        self.assertTrue("foo" in ignorelist)
-        self.assertTrue("bar" in ignorelist)
+        self.assertTrue("./bl/test.*" in ignorelist)
+        self.assertTrue("./foo" in ignorelist)
+        self.assertTrue("./bar" in ignorelist)
 
     def test_is_ignored(self):
         self.make_client('a', 'dc')

=== modified file 'tree.py'
--- a/tree.py	2007-01-02 02:39:36 +0000
+++ b/tree.py	2007-01-03 12:15:08 +0000
@@ -54,29 +54,21 @@
         self._repository = repository
         self._revision_id = revision_id
         pool = Pool()
-        if revision_id == NULL_REVISION:
-            self._inventory = Inventory(ROOT_ID)
-            self._inventory.revision_id = NULL_REVISION
-        else:
-            (self.branch_path, self.revnum) = repository.parse_revision_id(revision_id)
-            self._inventory = Inventory(ROOT_ID)
-            self._inventory.revision_id = revision_id
-            self.id_map = repository.get_fileid_map(self.revnum, self.branch_path)
-            self.editor = TreeBuildEditor(self, pool)
-            self.file_data = {}
-
-            editor, baton = svn.delta.make_editor(self.editor, pool)
-
-            root_repos = repository.transport.get_repos_root()
-            reporter, reporter_baton = repository.transport.do_switch(
-                    self.revnum, "", True, 
-                    os.path.join(root_repos, self.branch_path), editor, baton, pool)
-
-            svn.ra.reporter2_invoke_set_path(reporter, reporter_baton, "", 0, True, None, pool)
-
-            svn.ra.reporter2_invoke_finish_report(reporter, reporter_baton, pool)
-
-            pool.destroy()
+        (self.branch_path, self.revnum) = repository.parse_revision_id(revision_id)
+        self._inventory = Inventory(ROOT_ID)
+        self._inventory.revision_id = revision_id
+        self.id_map = repository.get_fileid_map(self.revnum, self.branch_path)
+        self.editor = TreeBuildEditor(self, pool)
+        self.file_data = {}
+        editor, baton = svn.delta.make_editor(self.editor, pool)
+        root_repos = repository.transport.get_repos_root()
+        reporter, reporter_baton = repository.transport.do_switch(
+                self.revnum, "", True, 
+                os.path.join(root_repos, self.branch_path), editor, baton, pool)
+        svn.ra.reporter2_invoke_set_path(reporter, reporter_baton, "", 0, 
+                True, None, pool)
+        svn.ra.reporter2_invoke_finish_report(reporter, reporter_baton, pool)
+        pool.destroy()
 
      def get_file_lines(self, file_id):
         return osutils.split_lines(self.file_data[file_id])
@@ -100,7 +92,6 @@
     def add_directory(self, path, parent_baton, copyfrom_path, copyfrom_revnum, pool):
         file_id, revision_id = self.tree.id_map[path]
         ie = self.tree._inventory.add_path(path, 'directory', file_id)
-
         ie.revision = revision_id
         return file_id
 
@@ -162,7 +153,6 @@
 
     def close_file(self, path, checksum):
         file_id, revision_id = self.tree.id_map[path]
-
         if self.is_symlink:
             ie = self.tree._inventory.add_path(path, 'symlink', file_id)
         else:
@@ -206,8 +196,7 @@
 class SvnBasisTree(SvnRevisionTree):
     """Optimized version of SvnRevisionTree."""
     def __init__(self, workingtree, revid):
-        super(SvnBasisTree, self).__init__(workingtree.branch.repository,
-                                           revid)
+        super(SvnBasisTree, self).__init__(workingtree.branch.repository, revid)
         self.workingtree = workingtree
 
     def get_file_lines(self, file_id):




More information about the bazaar-commits mailing list