# # # add_dir "tests/importing_cvs_branch_from_empty_branch" # # add_file "tests/importing_cvs_branch_from_empty_branch/__driver__.lua" # content [6f3030fe2faeed8dd45b3a77fed41356a25e2dea] # # patch "testsuite.lua" # from [5315a7608ab329df51b5ec95ae1dadaf0f922254] # to [a6be465ee9616d5e7dac08299924d53798deeba9] # ============================================================ --- tests/importing_cvs_branch_from_empty_branch/__driver__.lua 6f3030fe2faeed8dd45b3a77fed41356a25e2dea +++ tests/importing_cvs_branch_from_empty_branch/__driver__.lua 6f3030fe2faeed8dd45b3a77fed41356a25e2dea @@ -0,0 +1,68 @@ + +include("/common/cvs.lua") +mtn_setup() +cvs_setup() + +-- A test case from Michael Haggerty, author of cvs2svn +-- http://cvs2svn.tigris.org/servlets/ReadMsg?list=dev&msgNo=1878 +-- +-- He gave a very detailed description in the above email. This +-- adoption for monotone automatically checks the result, but is +-- otherwise equivalent. + +check(cvs("co", "."), 0, false, false) +mkdir("testdir") +check(cvs("add", "testdir"), 0, false, false) +check(cvs("commit", "-m", "add dir"), 0, false, false) + +writefile("testdir/fileA", "1.1") +check(cvs("add", "testdir/fileA"), 0, false, false) + +writefile("testdir/fileB", "1.1") +check(cvs("add", "testdir/fileB"), 0, false, false) + +writefile("testdir/fileC", "1.1") +check(cvs("add", "testdir/fileC"), 0, false, false) + +writefile("testdir/fileD", "1.1") +check(cvs("add", "testdir/fileD"), 0, false, false) + +check(cvs("commit", "-m", "initial versions"), 0, false, false) + +check(cvs("tag", "-b", "A1"), 0, false, false) + +writefile("testdir/fileD", "1.2") +check(cvs("commit", "-m", "revision 1.2 of fileD"), 0, false, false) + +check(cvs("tag", "-b", "A2"), 0, false, false) + +-- switch to branch "A1" +check(cvs("update", "-r", "A1"), 0, false, false) + +writefile("testdir/fileB", "1.1.2.1") +check(cvs("commit", "-m", "revision 1.1.2.1 of fileB"), 0, false, false) + +-- create branch "B" and switch to branch: +check(cvs("tag", "-b", "B"), 0, false, false) +check(cvs("update", "-r", "B"), 0, false, false) + +writefile("testdir/fileC", "1.1.2.1.2.1") +check(cvs("commit", "-m", "revision 1.1.2.1.2.1 of fileC"), 0, false, false) + +check(cvs("tag", "X"), 0, false, false) + +-- import and check +check(mtn("--branch=test", "cvs_import", cvsroot.."/testdir"), 0, false, false) + +check(mtn("list", "branches"), 0, true, false) +check(samelines("stdout", {"test", "test.A1", "test.B"})) + +check(mtn("checkout", "-b", "test.A1", "mtnco"), 0, false, false) +check(indir("mtnco", mtn("list", "known")), 0, true, false) +check(samelines("stdout", {"fileA", "fileB", "fileC", "fileD"})) +remove("mtnco") + +check(mtn("checkout", "-r", "X", "mtnco"), 0, false, false) +check(indir("mtnco", mtn("list", "known")), 0, true, false) +check(samelines("stdout", {"fileA", "fileB", "fileC", "fileD"})) +remove("mtnco") ============================================================ --- testsuite.lua 5315a7608ab329df51b5ec95ae1dadaf0f922254 +++ testsuite.lua a6be465ee9616d5e7dac08299924d53798deeba9 @@ -699,3 +699,4 @@ table.insert(tests, "importing_cvs_with_ table.insert(tests, "importing_cvs_with_multiple_vendor_imports") table.insert(tests, "importing_cvs_with_conflicting_tag") table.insert(tests, "importing_cvs_with_tags_after_delete") +table.insert(tests, "importing_cvs_branch_from_empty_branch")