sapling/tests/test-smartlog-obsolete.t
Jun Wu 99386e40fd inhibit: update existing code to work with the rewritten version
Summary:
debuginhibit was removed since we no longer have a separate inhibit state.

smartlog hack about changing "o" to "x" was removed since "obsolete()"
revset is correct and the hack is unnecessary now.

directaccess was removed from tests since inhibit does not depend on it.

`- obsolete()` was added to some revsets to avoid divergence and other
surprises.

Use `inhibit.revive` API in infinitepush and reset to revive changesets
properly.

Remove various hacky code that mangle inhibit state in corner cases.

Most test changes are `o` changed to `x` in output since we draw
`obsolete()` state correctly now. `test-infinitepush-backup-remotefilelog.t`
change was because output could be `bytes/sec` instead of `KB/sec`.

Test Plan: arc unit

Reviewers: #mercurial, kulshrax

Reviewed By: kulshrax

Subscribers: kulshrax, medson, mjpieters

Differential Revision: https://phabricator.intern.facebook.com/D5391361

Signature: t1:5391361:1499722618:d3c1cf629f0c59ecdf1dfd5e653c1eb6176646b8
2017-07-10 15:45:31 -07:00

168 lines
4.0 KiB
Perl

$ cat >> $HGRCPATH << EOF
> [extensions]
> fbamend=$TESTDIR/../hgext3rd/fbamend
> histedit=
> inhibit=$TESTDIR/../hgext3rd/inhibit.py
> rebase=
> smartlog=$TESTDIR/../hgext3rd/smartlog.py
> tweakdefaults=$TESTDIR/../hgext3rd/tweakdefaults.py
> [experimental]
> evolution = createmarkers, allowunstable
> allowdivergence = on
> [ui]
> interactive = true
> EOF
$ mkcommit() {
> echo $1 > $1
> hg add $1
> hg ci -m "add $1"
> }
$ mkcommit2() {
> echo "${1}1" > "${1}1"
> echo "${1}2" > "${1}2"
> hg add "${1}1" "${1}2"
> hg ci -m "add ${1}1 and ${1}2"
> }
$ reset() {
> cd ..
> rm -rf repo
> hg init repo
> cd repo
> }
$ showgraph() {
> hg log -r "(::.)::" --graph -T "{rev} {desc|firstline}" | sed \$d
> }
$ shownodes() {
> hg log --graph -T "{rev}:{short(node)} {desc|firstline}" --hidden | sed \$d
> }
$ hg init repo && cd repo
Check amend template keyword.
$ mkcommit a
$ showgraph
@ 0 add a
$ hg amend -m "Amended"
$ showgraph
@ 1 Amended
$ hg log --hidden -r 0 -T "{desc} {amendsuccessors % '{short(amendsuccessor)}'}\n"
add a [a-f0-9]* (re)
Check rebase template keyword.
$ mkcommit b
$ hg prev
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[*] Amended (glob)
$ mkcommit c
created new head
$ showgraph
@ 3 add c
|
| o 2 add b
|/
o 1 Amended
$ hg rebase -r 2 -d .
rebasing 2:* "add b" (glob)
$ showgraph
o 4 add b
|
@ 3 add c
|
o 1 Amended
$ hg log --hidden -r 2 -T "{desc} {rebasesuccessors % '{short(rebasesuccessor)} '}\n"
add b [a-f0-9]* (re)
Check fold template keyword.
$ hg fold --from 4
2 changesets folded
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ showgraph
@ 5 add c
|
o 1 Amended
$ hg log --hidden -r 3 -T "{desc} {foldsuccessors % '{short(foldsuccessor)} '}\n"
add c [a-f0-9]* (re)
$ hg log --hidden -r 4 -T "{desc} {foldsuccessors % '{short(foldsuccessor)} '}\n"
add b [a-f0-9]* (re)
Check split template keyword.
$ mkcommit2 d
$ hg split << EOF
> y
> y
> n
> y
> EOF
0 files updated, 0 files merged, 2 files removed, 0 files unresolved
adding d1
adding d2
diff --git a/d1 b/d1
new file mode 100644
examine changes to 'd1'? [Ynesfdaq?] y
@@ -0,0 +1,1 @@
+d1
record change 1/2 to 'd1'? [Ynesfdaq?] y
diff --git a/d2 b/d2
new file mode 100644
examine changes to 'd2'? [Ynesfdaq?] n
created new head
Done splitting? [yN] y
$ showgraph
@ 8 add d1 and d2
|
o 7 add d1 and d2
|
o 5 add c
|
o 1 Amended
$ hg log --hidden -r 6 -T "{desc} {splitsuccessors % '{short(splitsuccessor)} '}\n"
add d1 and d2 [a-f0-9]* [a-f0-9]* (re)
Check histedit template keyword.
$ reset
$ hg debugbuilddag -m +6
$ hg up tip
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ shownodes
@ 5:f2987ebe5838 r5
|
o 4:aa70f0fe546a r4
|
o 3:cb14eba0ad9c r3
|
o 2:f07e66f449d0 r2
|
o 1:09bb8c08de89 r1
|
o 0:fdaccbb26270 r0
$ hg histedit --commands - 2>&1 << EOF
> pick fdaccbb26270
> drop 09bb8c08de89
> pick f07e66f449d0
> fold cb14eba0ad9c
> pick aa70f0fe546a
> drop f2987ebe5838
> EOF
$ shownodes
@ 9:a14277652442 r4
|
o 8:cbe2934dfbab r2
|
o 0:fdaccbb26270 r0
Only nodes that were folded or rebased will have successors.
$ hg log --hidden -r 0 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
r0
$ hg log --hidden -r 1 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
r1
$ hg log --hidden -r 2 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
r2 cbe2934dfbab
$ hg log --hidden -r 3 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
r3 cbe2934dfbab
$ hg log --hidden -r 4 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
r4 a14277652442
$ hg log --hidden -r 5 -T "{desc} {histeditsuccessors % '{short(histeditsuccessor)} '}\n"
r5