test-issue660
94 lines
| 1.3 KiB
| text/plain
|
TextLexer
/ tests / test-issue660
Maxim Dounin
|
r5487 | #!/bin/sh | ||
# http://www.selenic.com/mercurial/bts/issue660 | ||||
hg init a | ||||
cd a | ||||
echo a > a | ||||
mkdir b | ||||
echo b > b/b | ||||
hg commit -A -m "a is file, b is dir" | ||||
echo % file replaced with directory | ||||
rm a | ||||
mkdir a | ||||
echo a > a/a | ||||
echo % should fail - would corrupt dirstate | ||||
hg add a/a | ||||
echo % removing shadow | ||||
hg rm --after a | ||||
echo % should succeed - shadow removed | ||||
hg add a/a | ||||
echo % directory replaced with file | ||||
rm -r b | ||||
echo b > b | ||||
echo % should fail - would corrupt dirstate | ||||
hg add b | ||||
echo % removing shadow | ||||
hg rm --after b/b | ||||
echo % should succeed - shadow removed | ||||
hg add b | ||||
echo % look what we got | ||||
hg st | ||||
echo % revert reintroducing shadow - should fail | ||||
rm -r a b | ||||
hg revert b/b | ||||
echo % revert all - should succeed | ||||
hg revert --all | ||||
hg st | ||||
echo % addremove | ||||
rm -r a b | ||||
mkdir a | ||||
echo a > a/a | ||||
echo b > b | ||||
hg addremove | ||||
hg st | ||||
echo % commit | ||||
hg ci -A -m "a is dir, b is file" | ||||
hg st --all | ||||
echo % long directory replaced with file | ||||
mkdir d | ||||
mkdir d/d | ||||
echo d > d/d/d | ||||
hg commit -A -m "d is long directory" | ||||
rm -r d | ||||
echo d > d | ||||
echo % should fail - would corrupt dirstate | ||||
hg add d | ||||
echo % removing shadow | ||||
hg rm --after d/d/d | ||||
echo % should succeed - shadow removed | ||||
hg add d | ||||
Maxim Dounin
|
r5516 | hg ci -md | ||
Maxim Dounin
|
r5487 | |||
Maxim Dounin
|
r5516 | echo % update should work at least with clean workdir | ||
rm -r a b d | ||||
hg up -r 0 | ||||
hg st --all | ||||
rm -r a b | ||||
hg up -r 1 | ||||
hg st --all | ||||
Maxim Dounin
|
r5487 | |||
exit 0 | ||||