mirror of
https://github.com/facebook/sapling.git
synced 2025-01-07 14:10:42 +03:00
b27a46c987
Summary: This is a big bulk of generally almost-obvious fixes to the moved tests. Mostly these fixes have to do with correct importing of the actual extensions. Depends on D6675329 Test Plan: - ./run-tests.py fails less after this commit - see further commits for more test fixes Reviewers: #sourcecontrol Differential Revision: https://phabricator.intern.facebook.com/D6675344
249 lines
5.3 KiB
Perl
249 lines
5.3 KiB
Perl
$ . "$TESTDIR/copytrace.sh"
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [extensions]
|
|
> copytrace=
|
|
> fbamend=
|
|
> rebase=
|
|
> shelve=
|
|
> [fbamend]
|
|
> userestack=True
|
|
> [experimental]
|
|
> copytrace=off
|
|
> evolution=createmarkers
|
|
> EOF
|
|
|
|
Test amend copytrace
|
|
$ hg init repo
|
|
$ initclient repo
|
|
$ cd repo
|
|
$ echo x > x
|
|
$ hg add x
|
|
$ hg ci -m initial
|
|
$ echo a > a
|
|
$ hg add a
|
|
$ hg ci -m "create a"
|
|
$ echo b > a
|
|
$ hg ci -qm "mod a"
|
|
$ hg up -q ".^"
|
|
$ hg mv a b
|
|
$ hg amend
|
|
warning: the changeset's children were left behind
|
|
(use 'hg restack' to rebase them)
|
|
$ hg rebase --restack
|
|
rebasing 2:ad25e018afa9 "mod a"
|
|
merging b and a to b
|
|
$ ls
|
|
b
|
|
x
|
|
$ cat b
|
|
a
|
|
$ hg update 4
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ cat b
|
|
b
|
|
$ cd ..
|
|
$ rm -rf repo
|
|
|
|
Test amend copytrace with multiple stacked commits
|
|
$ hg init repo
|
|
$ initclient repo
|
|
$ cd repo
|
|
$ echo x > x
|
|
$ hg add x
|
|
$ hg ci -m initial
|
|
$ echo a > a
|
|
$ echo b > b
|
|
$ echo c > c
|
|
$ hg add a b c
|
|
$ hg ci -m "create a b c"
|
|
$ echo a1 > a
|
|
$ hg ci -qm "mod a"
|
|
$ echo b2 > b
|
|
$ hg ci -qm "mod b"
|
|
$ echo c3 > c
|
|
$ hg ci -qm "mod c"
|
|
$ hg bookmark test-top
|
|
$ hg up -q '.~3'
|
|
$ hg mv a a1
|
|
$ hg mv b b2
|
|
$ hg amend
|
|
warning: the changeset's children were left behind
|
|
(use 'hg restack' to rebase them)
|
|
$ hg mv c c3
|
|
$ hg amend
|
|
$ hg rebase --restack
|
|
rebasing 2:797127d4e250 "mod a"
|
|
merging a1 and a to a1
|
|
rebasing 3:e2aabbfe749a "mod b"
|
|
merging b2 and b to b2
|
|
rebasing 4:4f8d18558559 "mod c" (test-top)
|
|
merging c3 and c to c3
|
|
$ hg up test-top
|
|
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
(activating bookmark test-top)
|
|
$ cat a1 b2 c3
|
|
a1
|
|
b2
|
|
c3
|
|
$ cd ..
|
|
$ rm -rf repo
|
|
|
|
Test amend copytrace with multiple renames of the same file
|
|
$ hg init repo
|
|
$ initclient repo
|
|
$ cd repo
|
|
$ echo x > x
|
|
$ hg add x
|
|
$ hg ci -m initial
|
|
$ echo a > a
|
|
$ hg add a
|
|
$ hg ci -m "create a"
|
|
$ echo b > a
|
|
$ hg ci -qm "mod a"
|
|
$ hg up -q ".^"
|
|
$ hg mv a b
|
|
$ hg amend
|
|
warning: the changeset's children were left behind
|
|
(use 'hg restack' to rebase them)
|
|
$ hg mv b c
|
|
$ hg amend
|
|
$ hg rebase --restack
|
|
rebasing 2:ad25e018afa9 "mod a"
|
|
merging c and a to c
|
|
$ hg update 5
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ cat c
|
|
b
|
|
$ cd ..
|
|
$ rm -rf repo
|
|
|
|
Test amend copytrace with copies
|
|
$ hg init repo
|
|
$ initclient repo
|
|
$ cd repo
|
|
$ echo x > x
|
|
$ hg add x
|
|
$ hg ci -m initial
|
|
$ echo a > a
|
|
$ echo i > i
|
|
$ hg add a i
|
|
$ hg ci -m "create a i"
|
|
$ echo b > a
|
|
$ hg ci -qm "mod a"
|
|
$ echo j > i
|
|
$ hg ci -qm "mod i"
|
|
$ hg bookmark test-top
|
|
$ hg up -q ".~2"
|
|
$ hg cp a b
|
|
$ hg amend
|
|
warning: the changeset's children were left behind
|
|
(use 'hg restack' to rebase them)
|
|
$ hg cp i j
|
|
$ hg amend
|
|
$ hg cp b c
|
|
$ hg amend
|
|
$ hg rebase --restack
|
|
rebasing 2:6938f0d82b23 "mod a"
|
|
merging b and a to b
|
|
merging c and a to c
|
|
rebasing 3:df8dfcb1d237 "mod i" (test-top)
|
|
merging j and i to j
|
|
$ hg up test-top
|
|
5 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
(activating bookmark test-top)
|
|
$ cat a b c i j
|
|
b
|
|
b
|
|
b
|
|
j
|
|
j
|
|
$ cd ..
|
|
$ rm -rf repo
|
|
|
|
Test rebase after amend deletion of copy
|
|
$ hg init repo
|
|
$ initclient repo
|
|
$ cd repo
|
|
$ echo x > x
|
|
$ hg add x
|
|
$ hg ci -m initial
|
|
$ echo a > a
|
|
$ hg add a
|
|
$ hg ci -m "create a"
|
|
$ echo b > a
|
|
$ hg ci -qm "mod a"
|
|
$ hg up -q ".^"
|
|
$ hg cp a b
|
|
$ hg amend
|
|
warning: the changeset's children were left behind
|
|
(use 'hg restack' to rebase them)
|
|
$ hg rm b
|
|
$ hg amend
|
|
$ hg rebase --restack
|
|
rebasing 2:ad25e018afa9 "mod a"
|
|
$ cd ..
|
|
$ rm -rf repo
|
|
|
|
Test failure to rebase deletion after rename
|
|
$ hg init repo
|
|
$ initclient repo
|
|
$ cd repo
|
|
$ echo x > x
|
|
$ hg add x
|
|
$ hg ci -m initial
|
|
$ echo a > a
|
|
$ hg add a
|
|
$ hg ci -m "create a"
|
|
$ echo b > a
|
|
$ hg ci -qm "mod a"
|
|
$ hg rm a
|
|
$ hg ci -m "delete a"
|
|
$ hg up -q ".~2"
|
|
$ hg mv a b
|
|
$ hg amend
|
|
warning: the changeset's children were left behind
|
|
(use 'hg restack' to rebase them)
|
|
$ hg rebase --restack
|
|
rebasing 2:ad25e018afa9 "mod a"
|
|
merging b and a to b
|
|
rebasing 3:ba0395f0e180 "delete a"
|
|
abort: a@ba0395f0e180: not found in manifest!
|
|
[255]
|
|
$ hg rebase --abort
|
|
saved backup bundle to $TESTTMP/repo/.hg/strip-backup/3fd0353a7967-a25c7d46-backup.hg (glob)
|
|
rebase aborted
|
|
$ cd ..
|
|
$ rm -rf repo
|
|
|
|
Test amend copytrace can be disabled
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [copytrace]
|
|
> enableamendcopytrace=false
|
|
> EOF
|
|
$ hg init repo
|
|
$ initclient repo
|
|
$ cd repo
|
|
$ echo x > x
|
|
$ hg add x
|
|
$ hg ci -m initial
|
|
$ echo a > a
|
|
$ hg add a
|
|
$ hg ci -m "create a"
|
|
$ echo b > a
|
|
$ hg ci -qm "mod a"
|
|
$ hg up -q ".^"
|
|
$ hg mv a b
|
|
$ hg amend
|
|
warning: the changeset's children were left behind
|
|
(use 'hg restack' to rebase them)
|
|
$ hg rebase --restack
|
|
rebasing 2:ad25e018afa9 "mod a"
|
|
other [source] changed a which local [dest] deleted
|
|
hint: if this message is due to a moved file, you can ask mercurial to attempt to automatically resolve this change by re-running with the --tracecopies flag, but this will significantly slow down the operation, so you will need to be patient.
|
|
Source control team is working on fixing this problem.
|
|
use (c)hanged version, leave (d)eleted, or leave (u)nresolved? u
|
|
unresolved conflicts (see hg resolve, then hg rebase --continue)
|
|
[1]
|
|
$ cd ..
|
|
$ rm -rf repo
|