diff --git a/tests/test-obsolete-bundle-strip.t b/tests/test-obsolete-bundle-strip.t new file mode 100644 --- /dev/null +++ b/tests/test-obsolete-bundle-strip.t @@ -0,0 +1,102 @@ +================================================== +Test obsmarkers interaction with bundle and strip +================================================== + +In practice, this file does not yet contains any tests for bundle and strip. +But their will be some soon (tm). + +For now this test check the logic computing markers relevant to a set of +revision. That logic will be use by "hg bundle" to select the markers to +include, and strip to find the markers to backup. + +Setup a repository with various case +==================================== + +Config setup +------------ + + $ cat >> $HGRCPATH < [ui] + > # simpler log output + > logtemplate = "{node|short}: {desc}\n" + > + > [experimental] + > # enable evolution + > evolution = all + > + > # include obsmarkers in bundle + > evolution.bundle-obsmarker = yes + > + > [extensions] + > # needed for some tests + > strip = + > [defaults] + > # we'll query many hidden changeset + > debugobsolete = --hidden + > EOF + + $ mkcommit() { + > echo "$1" > "$1" + > hg add "$1" + > hg ci -m "$1" + > } + + $ getid() { + > hg log --hidden --template '{node}\n' --rev "$1" + > } + + $ mktestrepo () { + > [ -n "$1" ] || exit 1 + > cd $TESTTMP + > hg init $1 + > cd $1 + > mkcommit ROOT + > } + +root setup +------------- + +simple chain +============ + +. A0 +. ⇠ø⇠◔ A1 +. |/ +. ● + +setup +----- + + $ mktestrepo simple-chain + $ mkcommit 'C-A0' + $ hg up 'desc("ROOT")' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ mkcommit 'C-A1' + created new head + $ hg debugobsolete a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 `getid 'desc("C-A0")'` + $ hg debugobsolete `getid 'desc("C-A0")'` a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 + $ hg debugobsolete a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 `getid 'desc("C-A1")'` + + $ hg up 'desc("ROOT")' + 0 files updated, 0 files merged, 1 files removed, 0 files unresolved + $ hg log --hidden -G + o cf2c22470d67: C-A1 + | + | x 84fcb0dfe17b: C-A0 + |/ + @ ea207398892e: ROOT + + $ hg debugobsolete + a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + 84fcb0dfe17b256ebae52e05572993b9194c018a a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + +Actual testing +-------------- + + $ hg debugobsolete --rev 'desc("C-A0")' + a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + $ hg debugobsolete --rev 'desc("C-A1")' + 84fcb0dfe17b256ebae52e05572993b9194c018a a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} + a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}