2018-01-03 22:51:20 +03:00
|
|
|
# no-check-code -- see T24862348
|
|
|
|
|
2009-10-17 07:33:41 +04:00
|
|
|
import shutil
|
2009-10-20 22:34:00 +04:00
|
|
|
|
2018-07-06 03:45:27 +03:00
|
|
|
import test_hgsubversion_util
|
2019-01-30 03:25:33 +03:00
|
|
|
from edenscm.hgext.hgsubversion import compathacks
|
2014-02-03 10:55:56 +04:00
|
|
|
|
2018-07-06 03:45:27 +03:00
|
|
|
|
2018-01-17 14:23:44 +03:00
|
|
|
class TestSingleDirClone(test_hgsubversion_util.TestBase):
|
2013-08-10 01:46:00 +04:00
|
|
|
stupid_mode_tests = True
|
|
|
|
|
2009-10-17 07:33:41 +04:00
|
|
|
def test_clone_single_dir_simple(self):
|
2018-07-06 03:45:27 +03:00
|
|
|
repo = self._load_fixture_and_fetch(
|
|
|
|
"branch_from_tag.svndump", layout="single", subdir=""
|
|
|
|
)
|
|
|
|
self.assertEqual(compathacks.branchset(repo), set(["default"]))
|
|
|
|
self.assertEqual(
|
|
|
|
sorted(repo["tip"].manifest().keys()),
|
|
|
|
[
|
|
|
|
"branches/branch_from_tag/alpha",
|
|
|
|
"branches/branch_from_tag/beta",
|
|
|
|
"tags/copied_tag/alpha",
|
|
|
|
"tags/copied_tag/beta",
|
|
|
|
"tags/tag_r3/alpha",
|
|
|
|
"tags/tag_r3/beta",
|
|
|
|
"trunk/alpha",
|
|
|
|
"trunk/beta",
|
|
|
|
],
|
|
|
|
)
|
2009-10-17 07:33:41 +04:00
|
|
|
|
2013-08-10 01:46:00 +04:00
|
|
|
def test_clone_subdir_is_file_prefix(self):
|
2018-07-06 03:45:27 +03:00
|
|
|
FIXTURE = "subdir_is_file_prefix.svndump"
|
|
|
|
repo = self._load_fixture_and_fetch(
|
|
|
|
FIXTURE, layout="single", subdir=test_hgsubversion_util.subdir[FIXTURE]
|
|
|
|
)
|
|
|
|
self.assertEqual(compathacks.branchset(repo), set(["default"]))
|
|
|
|
self.assertEqual(repo["tip"].manifest().keys(), ["flaf.txt"])
|
2011-12-14 03:07:57 +04:00
|
|
|
|
2009-10-17 07:33:41 +04:00
|
|
|
def test_externals_single(self):
|
2018-07-06 03:45:27 +03:00
|
|
|
repo = self._load_fixture_and_fetch("externals.svndump", layout="single")
|
2009-10-17 07:33:41 +04:00
|
|
|
for rev in repo:
|
2018-07-06 03:45:27 +03:00
|
|
|
assert ".hgsvnexternals" not in repo[rev].manifest()
|
|
|
|
return # TODO enable test when externals in single are fixed
|
2009-10-17 07:33:41 +04:00
|
|
|
expect = """[.]
|
|
|
|
-r2 ^/externals/project2@2 deps/project2
|
|
|
|
[subdir]
|
|
|
|
^/externals/project1 deps/project1
|
|
|
|
[subdir2]
|
|
|
|
^/externals/project1 deps/project1
|
|
|
|
"""
|
|
|
|
test = 2
|
2018-07-06 03:45:27 +03:00
|
|
|
self.assertEqual(self.repo[test][".hgsvnexternals"].data(), expect)
|
2009-10-17 07:33:41 +04:00
|
|
|
|
|
|
|
def test_externals_single_whole_repo(self):
|
|
|
|
# This is the test which demonstrates the brokenness of externals
|
2018-07-06 03:45:27 +03:00
|
|
|
return # TODO enable test when externals in single are fixed
|
|
|
|
repo = self._load_fixture_and_fetch(
|
|
|
|
"externals.svndump", layout="single", subdir=""
|
|
|
|
)
|
2009-10-17 07:33:41 +04:00
|
|
|
for rev in repo:
|
|
|
|
rc = repo[rev]
|
2018-07-06 03:45:27 +03:00
|
|
|
if ".hgsvnexternals" in rc:
|
|
|
|
extdata = rc[".hgsvnexternals"].data()
|
|
|
|
assert "[.]" not in extdata
|
|
|
|
print(extdata)
|
|
|
|
expect = "" # Not honestly sure what this should be...
|
2009-10-17 07:33:41 +04:00
|
|
|
test = 4
|
2018-07-06 03:45:27 +03:00
|
|
|
self.assertEqual(self.repo[test][".hgsvnexternals"].data(), expect)
|
2018-01-17 14:23:44 +03:00
|
|
|
|
2018-07-06 03:45:27 +03:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
2018-01-17 14:23:44 +03:00
|
|
|
import silenttestrunner
|
|
|
|
|
2018-07-06 03:45:27 +03:00
|
|
|
silenttestrunner.main(__name__)
|