Mercurial > evolve
view tests/test-evolve-templates.t @ 2489:84a8219a2f9a
template: add the obsfate template
Reuse _getobsoletefate and nextvisiblesuccessors to easily get the
obsolescence fate of any node. The limitation is that obsfate is as precise as
these two functions, which is not great for nextvisiblesuccessors.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Fri, 26 May 2017 13:28:49 +0200 |
parents | 590da9c523ae |
children | 94f171534918 |
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} | Fate: {obsfate}\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: | Fate: | | @ 471f378eab4c Precursors: | Successors: [d004c8f274b9] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: $ 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: | Fate: | | @ a468dc9b3633 Precursors: | Successors: [d004c8f274b9] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: Precursors template should show the precursor as we force its display with --hidden $ hg tlog --hidden o d004c8f274b9 Precursors: a468dc9b3633 | Successors: | Fate: | | @ a468dc9b3633 Precursors: 471f378eab4c | Successors: [d004c8f274b9] | Fate: superseed |/ | x f137d23bb3e1 Precursors: | Successors: | Fate: pruned | | | x 471f378eab4c Precursors: | Successors: [a468dc9b3633] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: $ hg up 'desc(A2)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg tlog @ d004c8f274b9 Precursors: | Successors: | Fate: | o ea207398892e Precursors: | Successors: | Fate: $ hg tlog --hidden @ d004c8f274b9 Precursors: a468dc9b3633 | Successors: | Fate: | | x a468dc9b3633 Precursors: 471f378eab4c | Successors: [d004c8f274b9] | Fate: superseed |/ | x f137d23bb3e1 Precursors: | Successors: | Fate: pruned | | | x 471f378eab4c Precursors: | Successors: [a468dc9b3633] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: 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: | Fate: | o 337fec4d2edc Precursors: 471597cad322 | Successors: | Fate: | | @ 471597cad322 Precursors: | Successors: [337fec4d2edc, f257fde29c7a] | Fate: superseed_split |/ o ea207398892e Precursors: | Successors: | Fate: $ 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: | Fate: | o 337fec4d2edc Precursors: | Successors: | Fate: | o ea207398892e Precursors: | Successors: | Fate: Precursors template should show the precursor as we force its display with --hidden $ hg tlog --hidden @ f257fde29c7a Precursors: 471597cad322 | Successors: | Fate: | o 337fec4d2edc Precursors: 471597cad322 | Successors: | Fate: | | x 471597cad322 Precursors: | Successors: [337fec4d2edc, f257fde29c7a] | Fate: superseed_split |/ o ea207398892e Precursors: | Successors: | Fate: 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: | Fate: | | @ 471f378eab4c Precursors: | Successors: [eb5a0daa2192] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: $ 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: | Fate: | | @ 0dec01379d3b Precursors: | Successors: [eb5a0daa2192] | Fate: superseed | | | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: $ 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: | Fate: | o ea207398892e Precursors: | Successors: | Fate: Precursors template should show both precursors as we force its display with --hidden $ hg tlog --hidden @ eb5a0daa2192 Precursors: 0dec01379d3b, 471f378eab4c | Successors: | Fate: | | x 0dec01379d3b Precursors: | Successors: [eb5a0daa2192] | Fate: superseed | | | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: 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: | Fate: | | o fdf9bde5129a Precursors: 471f378eab4c | Successors: | Fate: |/ | @ 471f378eab4c Precursors: | Successors: [fdf9bde5129a], [019fadeab383] | Fate: diverged |/ o ea207398892e Precursors: | Successors: | Fate: $ 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: | Fate: | | @ fdf9bde5129a Precursors: | Successors: | Fate: |/ o ea207398892e Precursors: | Successors: | Fate: Precursors template should a precursor as we force its display with --hidden $ hg tlog --hidden o 019fadeab383 Precursors: 65b757b745b9 | Successors: | Fate: | | x 65b757b745b9 Precursors: 471f378eab4c | Successors: [019fadeab383] | Fate: superseed |/ | @ fdf9bde5129a Precursors: 471f378eab4c | Successors: | Fate: |/ | x 471f378eab4c Precursors: | Successors: [fdf9bde5129a], [65b757b745b9] | Fate: diverged |/ o ea207398892e Precursors: | Successors: | Fate: 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: | Fate: | | @ 471f378eab4c Precursors: | Successors: [eb5a0daa2192] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: $ 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: | Fate: | | @ 0dec01379d3b Precursors: | Successors: [eb5a0daa2192] | Fate: superseed | | | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: $ 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: | Fate: | | @ b7ea6d14e664 Precursors: | Successors: [eb5a0daa2192] | Fate: superseed | | | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: $ hg up 'desc(C0)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg tlog @ eb5a0daa2192 Precursors: | Successors: | Fate: | o ea207398892e Precursors: | Successors: | Fate: $ hg tlog --hidden @ eb5a0daa2192 Precursors: 471f378eab4c, b7ea6d14e664 | Successors: | Fate: | | x b7ea6d14e664 Precursors: 0dec01379d3b | Successors: [eb5a0daa2192] | Fate: superseed | | | | x 0dec01379d3b Precursors: | Successors: [b7ea6d14e664] | Fate: superseed | |/ | x 471f378eab4c Precursors: | Successors: [eb5a0daa2192] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: 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: | Fate: | | @ 471f378eab4c Precursors: | Successors: [7a230b46bf61] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: $ hg up 'desc(A2)' 0 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg tlog @ 7a230b46bf61 Precursors: | Successors: | Fate: | o ea207398892e Precursors: | Successors: | Fate: $ hg tlog --hidden @ 7a230b46bf61 Precursors: 471f378eab4c | Successors: | Fate: | | x 471f378eab4c Precursors: | Successors: [7a230b46bf61] | Fate: superseed |/ o ea207398892e Precursors: | Successors: | Fate: