mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
99386e40fd
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
224 lines
3.9 KiB
Perl
224 lines
3.9 KiB
Perl
Set up test environment.
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [extensions]
|
|
> fbamend=$TESTDIR/../hgext3rd/fbamend
|
|
> inhibit=$TESTDIR/../hgext3rd/inhibit.py
|
|
> rebase=
|
|
> [experimental]
|
|
> evolution = createmarkers, allowunstable
|
|
> EOF
|
|
$ showgraph() {
|
|
> hg log --graph -T "{rev} {desc|firstline}" | sed \$d
|
|
> }
|
|
$ reset() {
|
|
> cd ..
|
|
> rm -rf repo
|
|
> hg init repo
|
|
> cd repo
|
|
> }
|
|
|
|
Set up repo.
|
|
$ hg init repo && cd repo
|
|
$ hg debugbuilddag -m "+5 *4 +2"
|
|
$ showgraph
|
|
o 7 r7
|
|
|
|
|
o 6 r6
|
|
|
|
|
o 5 r5
|
|
|
|
|
| o 4 r4
|
|
| |
|
|
| o 3 r3
|
|
| |
|
|
| o 2 r2
|
|
|/
|
|
o 1 r1
|
|
|
|
|
o 0 r0
|
|
|
|
Test that a fold works correctly on error.
|
|
$ hg fold --exact 7 7
|
|
single revision specified, nothing to fold
|
|
[1]
|
|
|
|
Test simple case of folding a head. Should work normally.
|
|
$ hg up 7
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ hg fold --from '.^'
|
|
2 changesets folded
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ showgraph
|
|
@ 8 r6
|
|
|
|
|
o 5 r5
|
|
|
|
|
| o 4 r4
|
|
| |
|
|
| o 3 r3
|
|
| |
|
|
| o 2 r2
|
|
|/
|
|
o 1 r1
|
|
|
|
|
o 0 r0
|
|
|
|
Test rebasing of stack after fold.
|
|
$ hg up 3
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ hg fold --from '.^'
|
|
2 changesets folded
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
rebasing 4:b762560d23fd "r4"
|
|
merging mf
|
|
$ showgraph
|
|
o 10 r4
|
|
|
|
|
@ 9 r2
|
|
|
|
|
| o 8 r6
|
|
| |
|
|
| o 5 r5
|
|
|/
|
|
o 1 r1
|
|
|
|
|
o 0 r0
|
|
|
|
Test rebasing of multiple children
|
|
$ hg up 1
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ hg fold --from '.^'
|
|
2 changesets folded
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
rebasing 5:* "r5" (glob)
|
|
merging mf
|
|
rebasing 8:* "r6" (glob)
|
|
merging mf
|
|
rebasing 9:* "r2" (glob)
|
|
merging mf
|
|
rebasing 10:* "r4" (glob)
|
|
merging mf
|
|
$ showgraph
|
|
o 15 r4
|
|
|
|
|
o 14 r2
|
|
|
|
|
| o 13 r6
|
|
| |
|
|
| o 12 r5
|
|
|/
|
|
@ 11 r0
|
|
|
|
Test folding multiple changesets, using default behavior of folding
|
|
up to working copy parent. Also tests situation where the branch to
|
|
rebase is not on the topmost folded commit.
|
|
$ reset
|
|
$ hg debugbuilddag -m "+5 *4 +2"
|
|
$ showgraph
|
|
o 7 r7
|
|
|
|
|
o 6 r6
|
|
|
|
|
o 5 r5
|
|
|
|
|
| o 4 r4
|
|
| |
|
|
| o 3 r3
|
|
| |
|
|
| o 2 r2
|
|
|/
|
|
o 1 r1
|
|
|
|
|
o 0 r0
|
|
|
|
$ hg up 0
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ hg fold --from 2
|
|
3 changesets folded
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
rebasing 3:a422badec216 "r3"
|
|
merging mf
|
|
rebasing 4:b762560d23fd "r4"
|
|
merging mf
|
|
rebasing 5:77d787dfa5b6 "r5"
|
|
merging mf
|
|
rebasing 6:ec6d8e65acbe "r6"
|
|
merging mf
|
|
rebasing 7:9c9414e0356c "r7"
|
|
merging mf
|
|
$ showgraph
|
|
o 13 r7
|
|
|
|
|
o 12 r6
|
|
|
|
|
o 11 r5
|
|
|
|
|
| o 10 r4
|
|
| |
|
|
| o 9 r3
|
|
|/
|
|
@ 8 r0
|
|
|
|
Test folding changesets unrelated to working copy parent using --exact.
|
|
Also test that using node hashes instead of rev numbers works.
|
|
$ reset
|
|
$ hg debugbuilddag -m +6
|
|
$ showgraph
|
|
o 5 r5
|
|
|
|
|
o 4 r4
|
|
|
|
|
o 3 r3
|
|
|
|
|
o 2 r2
|
|
|
|
|
o 1 r1
|
|
|
|
|
o 0 r0
|
|
|
|
$ hg fold --exact 09bb8c f07e66 cb14eb
|
|
3 changesets folded
|
|
rebasing 4:aa70f0fe546a "r4"
|
|
merging mf
|
|
rebasing 5:f2987ebe5838 "r5"
|
|
merging mf
|
|
$ showgraph
|
|
o 8 r5
|
|
|
|
|
o 7 r4
|
|
|
|
|
o 6 r1
|
|
|
|
|
o 0 r0
|
|
|
|
Test --no-rebase flag.
|
|
$ hg fold --no-rebase --exact 6 7
|
|
2 changesets folded
|
|
$ showgraph
|
|
o 9 r1
|
|
|
|
|
| o 8 r5
|
|
| |
|
|
| x 7 r4
|
|
| |
|
|
| x 6 r1
|
|
|/
|
|
o 0 r0
|
|
|
|
Test that bookmarks are correctly moved.
|
|
$ reset
|
|
$ hg debugbuilddag +3
|
|
$ hg bookmarks -r 1 test1
|
|
$ hg bookmarks -r 2 test2_1
|
|
$ hg bookmarks -r 2 test2_2
|
|
$ hg bookmarks
|
|
test1 1:* (glob)
|
|
test2_1 2:* (glob)
|
|
test2_2 2:* (glob)
|
|
$ hg fold --exact 1 2
|
|
2 changesets folded
|
|
$ hg bookmarks
|
|
test1 3:* (glob)
|
|
test2_1 3:* (glob)
|
|
test2_2 3:* (glob)
|