Mercurial > hg
view tests/test-issue660 @ 5534:61c230f81068
mq: avoid qnew committing everything on invalid paths (issue 803)
If paths are supplied but resolve to nothing, localrepo.commit() is called with an empty set and commits the whole dirstate. Avoid this by passing the match function to commit.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Tue, 20 Nov 2007 14:31:58 +0100 |
parents | f252ba975925 |
children | 942287cb1f57 |
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