Mercurial > hg
view tests/test-issue660 @ 8381:f52fcc864df4
inotify: server.walk(): use yield instead of for
iterate on subdir when the directory is found, not
once all the directories are found, since yield order doesn't matter
author | Nicolas Dumazet <nicdumz.commits@gmail.com> |
---|---|
date | Mon, 04 May 2009 18:19:26 +0900 |
parents | 942287cb1f57 |
children | 1de6e7e1bb9f |
line wrap: on
line source
#!/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 hg ci -md 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 exit 0