# # # patch "tests/importing_cvs_branches3/__driver__.lua" # from [c263c58bb2ef578c1a032f7ee6fad1ac18d9d963] # to [e1c22ea7eb81e795c01e4e456185cc7bab2a837b] # # patch "tests/importing_cvs_files_with_identical_logs3/__driver__.lua" # from [84ba24f106105034d0c0ce2902b14a23b240fd53] # to [79cc9512fa0f48b368d70b310c97061b0bae9cfd] # # patch "tests/importing_cvs_with_conflicting_tag/__driver__.lua" # from [4fa276976d23ac964f3b381dbc69d0736711af60] # to [7f6693dfed3e8b8bd00871662303bf2e8354a177] # # patch "tests/importing_cvs_with_tags_after_delete/__driver__.lua" # from [44874561f9edf332ca946ffcfab8987c2244b664] # to [85e59673db79697b46bdb05acb911e3875ebcbe6] # ============================================================ --- tests/importing_cvs_branches3/__driver__.lua c263c58bb2ef578c1a032f7ee6fad1ac18d9d963 +++ tests/importing_cvs_branches3/__driver__.lua e1c22ea7eb81e795c01e4e456185cc7bab2a837b @@ -25,6 +25,9 @@ xfail(mtn("--branch=test", "cvs_import", -- import into monotone and check presence of files xfail(mtn("--branch=test", "cvs_import", "cvs-repository/test"), 0, false, false) +-- We currently don't handle blobs, which seem to belong to two different +-- branches. See the branch_sanitizer. + -- check if all non-empty branches were imported check(mtn("list", "branches"), 0, true, false) check(samelines("stdout", {"test", "test.A", "test.B"})) ============================================================ --- tests/importing_cvs_files_with_identical_logs3/__driver__.lua 84ba24f106105034d0c0ce2902b14a23b240fd53 +++ tests/importing_cvs_files_with_identical_logs3/__driver__.lua 79cc9512fa0f48b368d70b310c97061b0bae9cfd @@ -5,5 +5,10 @@ check(get("cvs-repository")) check(get("cvs-repository")) -- import into monotone -check(mtn("--branch=testbranch", "cvs_import", "cvs-repository/test"), 0, false, false) +xfail(mtn("--branch=testbranch", "cvs_import", "cvs-repository/test"), 0, false, false) +-- This fails, because some event times are unfortunately adjusted, so +-- that they exactly match another, conflicting event is the blob, which +-- needs to be split. Needs better get_best_split_point logic (i.e. split +-- a blob between two events with exactly the same timestamps). + ============================================================ --- tests/importing_cvs_with_conflicting_tag/__driver__.lua 4fa276976d23ac964f3b381dbc69d0736711af60 +++ tests/importing_cvs_with_conflicting_tag/__driver__.lua 7f6693dfed3e8b8bd00871662303bf2e8354a177 @@ -1,9 +1,21 @@ +-- +-- This test includes conflicting tags, as follows: +-- +-- ANOTHER TAG: fileA @ 1.1 - Version 0 of fileA +-- fileB @ 1.2 - Version 1 of fileB +-- +-- CONFLICTING_TAG: fileA @ 1.2 - Version 1 of fileA +-- fileB @ 1.1 - Version 0 of fileB +-- +-- To be able to correctly represent those two revisions, we need to +-- insert artificial revisions. +-- mtn_setup() check(get("cvs-repository")) -xfail(mtn("--branch=foo.bar", "cvs_import", "cvs-repository"), 0, false, false) +check(mtn("--branch=foo.bar", "cvs_import", "cvs-repository"), 0, false, false) check(mtn("--branch=foo.bar", "co")) check(indir("foo.bar", mtn("list", "known")), 0, true) @@ -14,8 +26,21 @@ check(grep("ANOTHER_TAG", "stdout"), 0, check(grep("CONFLICTING_TAG", "stdout"), 0, false, false) check(grep("ANOTHER_TAG", "stdout"), 0, false, false) +-- check contents at tag ANOTHER_TAG +check(indir("foo.bar", mtn("update", "-r", "ANOTHER_TAG")), 0, false, false) +check(indir("foo.bar", mtn("list", "known")), 0, true) +check(samelines("stdout", {"testsrc", "testsrc/fileA", "testsrc/fileB"})) +check(samelines("foo.bar/testsrc/fileA", {"Version 0 of fileA."})) +xfail(samelines("foo.bar/testsrc/fileB", {"Version 1 of fileB."})) + +-- Currently, ANOTHER_TAG gets split correctly, but then we simply override +-- ANOTHER_TAG as soon as the second blob with the same tag is consumed. + + +-- check contents at tag CONFLICTING_TAG check(indir("foo.bar", mtn("update", "-r", "CONFLICTING_TAG")), 0, false, false) check(indir("foo.bar", mtn("list", "known")), 0, true) check(samelines("stdout", {"testsrc", "testsrc/fileA", "testsrc/fileB"})) check(samelines("foo.bar/testsrc/fileA", {"Version 1 of fileA."})) check(samelines("foo.bar/testsrc/fileB", {"Version 0 of fileB."})) + ============================================================ --- tests/importing_cvs_with_tags_after_delete/__driver__.lua 44874561f9edf332ca946ffcfab8987c2244b664 +++ tests/importing_cvs_with_tags_after_delete/__driver__.lua 85e59673db79697b46bdb05acb911e3875ebcbe6 @@ -23,3 +23,8 @@ xfail(samelines("stdout", {"foo"})) check(indir("mtnco", mtn("list", "known")), 0, true, false) xfail(samelines("stdout", {"foo"})) +-- This one is hard to solve: file bar should not be included in the tagged +-- revision, but that can only be figured out, if we look at what tags +-- the RCS file has. This might be erroneous in other cases, where a file +-- *should* be included in a revision, but somehow misses the tag. +