Mercurial > evolve
view tests/test-evolve-templates.t @ 2488:1bdbe8f55339
refactor: extract obs fate algorithm from _getobsoletereason
Refactor _getobsoletereason to extract the obs fate computation into a
separate function, it will be used later and put it in obshistory as it will
be needed in other files.
Rename _getobsoletereason to _getobsoletefateandsuccessors.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Fri, 26 May 2017 13:18:26 +0200 |
parents | 590da9c523ae |
children | 84a8219a2f9a |
line wrap: on
line source
This test file test the various templates for precursors and successors. Global setup ============ $ . $TESTDIR/testlib/common.sh $ cat >> $HGRCPATH <<EOF > [ui] > interactive = true > [phases] > publish=False > [extensions] > evolve = > [alias] > tlog = log -G -T '{node|short} Precursors: {precursors} | Successors: {successors}\n' > EOF Test templates on amended commit ================================ Test setup ---------- $ hg init $TESTTMP/templates-local-amend $ cd $TESTTMP/templates-local-amend $ mkcommit ROOT $ mkcommit A0 $ echo 42 >> A0 $ hg amend -m "A1" $ hg amend -m "A2" $ hg log --hidden -G @ changeset: 4:d004c8f274b9 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A2 | | x changeset: 3:a468dc9b3633 |/ parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A1 | | x changeset: 2:f137d23bb3e1 | | user: test | | date: Thu Jan 01 00:00:00 1970 +0000 | | summary: temporary amend commit for 471f378eab4c | | | x changeset: 1:471f378eab4c |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT Check templates --------------- $ hg up 'desc(A0)' --hidden 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: d004c8f274b9) Precursors template should show current revision as it is the working copy $ hg tlog o d004c8f274b9 Precursors: 471f378eab4c | Successors: | | @ 471f378eab4c Precursors: | Successors: [d004c8f274b9] |/ o ea207398892e Precursors: | Successors: $ hg up 'desc(A1)' --hidden 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (a468dc9b3633) (use 'hg evolve' to update to its successor: d004c8f274b9) Precursors template should show current revision as it is the working copy $ hg tlog o d004c8f274b9 Precursors: a468dc9b3633 | Successors: | | @ a468dc9b3633 Precursors: | Successors: [d004c8f274b9] |/ o ea207398892e Precursors: | Successors: Precursors template should show the precursor as we force its display with --hidden $ hg tlog --hidden o d004c8f274b9 Precursors: a468dc9b3633 | Successors: | | @ a468dc9b3633 Precursors: 471f378eab4c | Successors: [d004c8f274b9] |/ | x f137d23bb3e1 Precursors: | Successors: | | | x 471f378eab4c Precursors: | Successors: [a468dc9b3633] |/ o ea207398892e Precursors: | Successors: $ hg up 'desc(A2)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg tlog @ d004c8f274b9 Precursors: | Successors: | o ea207398892e Precursors: | Successors: $ hg tlog --hidden @ d004c8f274b9 Precursors: a468dc9b3633 | Successors: | | x a468dc9b3633 Precursors: 471f378eab4c | Successors: [d004c8f274b9] |/ | x f137d23bb3e1 Precursors: | Successors: | | | x 471f378eab4c Precursors: | Successors: [a468dc9b3633] |/ o ea207398892e Precursors: | Successors: Test templates with splitted commit =================================== $ hg init $TESTTMP/templates-local-split $ cd $TESTTMP/templates-local-split $ mkcommit ROOT $ echo 42 >> a $ echo 43 >> b $ hg commit -A -m "A0" adding a adding b $ hg log --hidden -G @ changeset: 1:471597cad322 | tag: tip | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT $ hg split -r 'desc(A0)' -d "0 0" << EOF > y > y > n > n > y > y > EOF 0 files updated, 0 files merged, 2 files removed, 0 files unresolved adding a adding b diff --git a/a b/a new file mode 100644 examine changes to 'a'? [Ynesfdaq?] y @@ -0,0 +1,1 @@ +42 record change 1/2 to 'a'? [Ynesfdaq?] y diff --git a/b b/b new file mode 100644 examine changes to 'b'? [Ynesfdaq?] n created new head Done splitting? [yN] n diff --git a/b b/b new file mode 100644 examine changes to 'b'? [Ynesfdaq?] y @@ -0,0 +1,1 @@ +43 record this change to 'b'? [Ynesfdaq?] y no more change to split $ hg log --hidden -G @ changeset: 3:f257fde29c7a | tag: tip | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 2:337fec4d2edc | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | | x changeset: 1:471597cad322 |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT Check templates --------------- $ hg up 'obsolete()' --hidden 0 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (471597cad322) (use 'hg evolve' to update to its tipmost successor: 337fec4d2edc, f257fde29c7a) Precursors template should show current revision as it is the working copy $ hg tlog o f257fde29c7a Precursors: 471597cad322 | Successors: | o 337fec4d2edc Precursors: 471597cad322 | Successors: | | @ 471597cad322 Precursors: | Successors: [337fec4d2edc, f257fde29c7a] |/ o ea207398892e Precursors: | Successors: $ hg up f257fde29c7a 0 files updated, 0 files merged, 0 files removed, 0 files unresolved Precursors template should not show a precursor as it's not displayed in the log $ hg tlog @ f257fde29c7a Precursors: | Successors: | o 337fec4d2edc Precursors: | Successors: | o ea207398892e Precursors: | Successors: Precursors template should show the precursor as we force its display with --hidden $ hg tlog --hidden @ f257fde29c7a Precursors: 471597cad322 | Successors: | o 337fec4d2edc Precursors: 471597cad322 | Successors: | | x 471597cad322 Precursors: | Successors: [337fec4d2edc, f257fde29c7a] |/ o ea207398892e Precursors: | Successors: Test templates with folded commit ============================== Test setup ---------- $ hg init $TESTTMP/templates-local-fold $ cd $TESTTMP/templates-local-fold $ mkcommit ROOT $ mkcommit A0 $ mkcommit B0 $ hg log --hidden -G @ changeset: 2:0dec01379d3b | tag: tip | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: B0 | o changeset: 1:471f378eab4c | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT $ hg fold --exact -r 'desc(A0) + desc(B0)' --date "0 0" -m "C0" 2 changesets folded 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg log --hidden -G @ changeset: 3:eb5a0daa2192 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: C0 | | x changeset: 2:0dec01379d3b | | user: test | | date: Thu Jan 01 00:00:00 1970 +0000 | | summary: B0 | | | x changeset: 1:471f378eab4c |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT Check templates --------------- $ hg up 'desc(A0)' --hidden 0 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: eb5a0daa2192) Precursors template should show current revision as it is the working copy $ hg tlog o eb5a0daa2192 Precursors: 471f378eab4c | Successors: | | @ 471f378eab4c Precursors: | Successors: [eb5a0daa2192] |/ o ea207398892e Precursors: | Successors: $ hg up 'desc(B0)' --hidden 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (0dec01379d3b) (use 'hg evolve' to update to its successor: eb5a0daa2192) Precursors template should show both precursors as they should be both displayed $ hg tlog o eb5a0daa2192 Precursors: 0dec01379d3b, 471f378eab4c | Successors: | | @ 0dec01379d3b Precursors: | Successors: [eb5a0daa2192] | | | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] |/ o ea207398892e Precursors: | Successors: $ hg up 'desc(C0)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved Precursors template should not show precursors as it's not displayed in the log $ hg tlog @ eb5a0daa2192 Precursors: | Successors: | o ea207398892e Precursors: | Successors: Precursors template should show both precursors as we force its display with --hidden $ hg tlog --hidden @ eb5a0daa2192 Precursors: 0dec01379d3b, 471f378eab4c | Successors: | | x 0dec01379d3b Precursors: | Successors: [eb5a0daa2192] | | | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] |/ o ea207398892e Precursors: | Successors: Test templates with divergence ============================== Test setup ---------- $ hg init $TESTTMP/templates-local-divergence $ cd $TESTTMP/templates-local-divergence $ mkcommit ROOT $ mkcommit A0 $ hg amend -m "A1" $ hg log --hidden -G @ changeset: 2:fdf9bde5129a | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A1 | | x changeset: 1:471f378eab4c |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT $ hg update --hidden 'desc(A0)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: fdf9bde5129a) $ hg amend -m "A2" 2 new divergent changesets $ hg log --hidden -G @ changeset: 3:65b757b745b9 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | trouble: divergent | summary: A2 | | o changeset: 2:fdf9bde5129a |/ parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | trouble: divergent | summary: A1 | | x changeset: 1:471f378eab4c |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT $ hg amend -m 'A3' Check templates --------------- $ hg up 'desc(A0)' --hidden 0 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (471f378eab4c) (471f378eab4c has diverged, use 'hg evolve -list --divergent' to resolve the issue) Precursors template should show current revision as it is the working copy $ hg tlog o 019fadeab383 Precursors: 471f378eab4c | Successors: | | o fdf9bde5129a Precursors: 471f378eab4c | Successors: |/ | @ 471f378eab4c Precursors: | Successors: [fdf9bde5129a], [019fadeab383] |/ o ea207398892e Precursors: | Successors: $ hg up 'desc(A1)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved Precursors template should not show precursors as it's not displayed in the log $ hg tlog o 019fadeab383 Precursors: | Successors: | | @ fdf9bde5129a Precursors: | Successors: |/ o ea207398892e Precursors: | Successors: Precursors template should a precursor as we force its display with --hidden $ hg tlog --hidden o 019fadeab383 Precursors: 65b757b745b9 | Successors: | | x 65b757b745b9 Precursors: 471f378eab4c | Successors: [019fadeab383] |/ | @ fdf9bde5129a Precursors: 471f378eab4c | Successors: |/ | x 471f378eab4c Precursors: | Successors: [fdf9bde5129a], [65b757b745b9] |/ o ea207398892e Precursors: | Successors: Test templates with amended + folded commit =========================================== Test setup ---------- $ hg init $TESTTMP/templates-local-amend-fold $ cd $TESTTMP/templates-local-amend-fold $ mkcommit ROOT $ mkcommit A0 $ mkcommit B0 $ hg amend -m "B1" $ hg log --hidden -G @ changeset: 3:b7ea6d14e664 | tag: tip | parent: 1:471f378eab4c | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: B1 | | x changeset: 2:0dec01379d3b |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: B0 | o changeset: 1:471f378eab4c | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT $ hg fold --exact -r 'desc(A0) + desc(B1)' --date "0 0" -m "C0" 2 changesets folded 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg log --hidden -G @ changeset: 4:eb5a0daa2192 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: C0 | | x changeset: 3:b7ea6d14e664 | | parent: 1:471f378eab4c | | user: test | | date: Thu Jan 01 00:00:00 1970 +0000 | | summary: B1 | | | | x changeset: 2:0dec01379d3b | |/ user: test | | date: Thu Jan 01 00:00:00 1970 +0000 | | summary: B0 | | | x changeset: 1:471f378eab4c |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT Check templates --------------- $ hg up 'desc(A0)' --hidden 0 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: eb5a0daa2192) $ hg tlog o eb5a0daa2192 Precursors: 471f378eab4c | Successors: | | @ 471f378eab4c Precursors: | Successors: [eb5a0daa2192] |/ o ea207398892e Precursors: | Successors: $ hg up 'desc(B0)' --hidden 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (0dec01379d3b) (use 'hg evolve' to update to its successor: eb5a0daa2192) $ hg tlog o eb5a0daa2192 Precursors: 0dec01379d3b, 471f378eab4c | Successors: | | @ 0dec01379d3b Precursors: | Successors: [eb5a0daa2192] | | | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] |/ o ea207398892e Precursors: | Successors: $ hg up 'desc(B1)' --hidden 0 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! (b7ea6d14e664) (use 'hg evolve' to update to its successor: eb5a0daa2192) $ hg tlog o eb5a0daa2192 Precursors: 471f378eab4c, b7ea6d14e664 | Successors: | | @ b7ea6d14e664 Precursors: | Successors: [eb5a0daa2192] | | | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] |/ o ea207398892e Precursors: | Successors: $ hg up 'desc(C0)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg tlog @ eb5a0daa2192 Precursors: | Successors: | o ea207398892e Precursors: | Successors: $ hg tlog --hidden @ eb5a0daa2192 Precursors: 471f378eab4c, b7ea6d14e664 | Successors: | | x b7ea6d14e664 Precursors: 0dec01379d3b | Successors: [eb5a0daa2192] | | | | x 0dec01379d3b Precursors: | Successors: [b7ea6d14e664] | |/ | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] |/ o ea207398892e Precursors: | Successors: Test template with pushed and pulled obs markers ============================================== Test setup ---------- $ hg init $TESTTMP/templates-local-remote-markers-1 $ cd $TESTTMP/templates-local-remote-markers-1 $ mkcommit ROOT $ mkcommit A0 $ hg clone $TESTTMP/templates-local-remote-markers-1 $TESTTMP/templates-local-remote-markers-2 updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd $TESTTMP/templates-local-remote-markers-2 $ hg log --hidden -G @ changeset: 1:471f378eab4c | tag: tip | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT $ cd $TESTTMP/templates-local-remote-markers-1 $ hg amend -m "A1" $ hg amend -m "A2" $ hg log --hidden -G @ changeset: 3:7a230b46bf61 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A2 | | x changeset: 2:fdf9bde5129a |/ parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A1 | | x changeset: 1:471f378eab4c |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT $ cd $TESTTMP/templates-local-remote-markers-2 $ hg pull pulling from $TESTTMP/templates-local-remote-markers-1 searching for changes adding changesets adding manifests adding file changes added 1 changesets with 0 changes to 1 files (+1 heads) 2 new obsolescence markers (run 'hg heads' to see heads, 'hg merge' to merge) working directory parent is obsolete! (471f378eab4c) (use 'hg evolve' to update to its successor: 7a230b46bf61) $ hg log --hidden -G o changeset: 2:7a230b46bf61 | tag: tip | parent: 0:ea207398892e | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A2 | | @ changeset: 1:471f378eab4c |/ user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: A0 | o changeset: 0:ea207398892e user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: ROOT Check templates --------------- $ hg tlog o 7a230b46bf61 Precursors: 471f378eab4c | Successors: | | @ 471f378eab4c Precursors: | Successors: [7a230b46bf61] |/ o ea207398892e Precursors: | Successors: $ hg up 'desc(A2)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg tlog @ 7a230b46bf61 Precursors: | Successors: | o ea207398892e Precursors: | Successors: $ hg tlog --hidden @ 7a230b46bf61 Precursors: 471f378eab4c | Successors: | | x 471f378eab4c Precursors: | Successors: [7a230b46bf61] |/ o ea207398892e Precursors: | Successors: