diff tests/test_fetch_mappings.py @ 179:a336e3e82648

Fetch: add a filemap argument for use in converting old repositories to Mercurial.
author Graham Booker <gbooker@cod3r.com>
date Sat, 03 Jan 2009 20:15:03 -0600
parents 4f26fa049452
children 907c160c6289
line wrap: on
line diff
--- a/tests/test_fetch_mappings.py
+++ b/tests/test_fetch_mappings.py
@@ -4,6 +4,7 @@ import os
 import unittest
 
 from mercurial import ui
+from mercurial import node
 
 import test_util
 import fetch_command
@@ -52,6 +53,38 @@ class MapTests(test_util.TestBase):
 
     def test_author_map_closing_author_stupid(self):
         self.test_author_map_closing_author(True)
+        
+    def test_file_map(self, stupid=False):
+        test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump')
+        filemap = open(self.filemap, 'w')
+        filemap.write("include alpha\n")
+        filemap.close()
+        fetch_command.fetch_revisions(ui.ui(),
+                                      svn_url=test_util.fileurl(self.repo_path),
+                                      hg_repo_path=self.wc_path,
+                                      stupid=stupid,
+                                      filemap=self.filemap)
+        self.assertEqual(node.hex(self.repo[0].node()), '88e2c7492d83e4bf30fbb2dcbf6aa24d60ac688d')
+        self.assertEqual(node.hex(self.repo['default'].node()), 'e524296152246b3837fe9503c83b727075835155')
+        
+    def test_file_map_stupid(self):
+        self.test_file_map(True)
+        
+    def test_file_map_exclude(self, stupid=False):
+        test_util.load_svndump_fixture(self.repo_path, 'replace_trunk_with_branch.svndump')
+        filemap = open(self.filemap, 'w')
+        filemap.write("exclude alpha\n")
+        filemap.close()
+        fetch_command.fetch_revisions(ui.ui(),
+                                      svn_url=test_util.fileurl(self.repo_path),
+                                      hg_repo_path=self.wc_path,
+                                      stupid=stupid,
+                                      filemap=self.filemap)
+        self.assertEqual(node.hex(self.repo[0].node()), '2c48f3525926ab6c8b8424bcf5eb34b149b61841')
+        self.assertEqual(node.hex(self.repo['default'].node()), '86fc12d173716139d5bd1d36866038d355009f45')
+        
+    def test_file_map_exclude_stupid(self):
+        self.test_file_map_exclude(True)
 
 
 def suite():