Mercurial > hg
view tests/test-issue660 @ 11126:f7535c433d22 stable
convert/svn: correctly encode deleted entry paths
This recode call was removed in ede2247e61aa, because it looked the
encode(decode()) construct was a no-op. In fact, the first decode() call was
wrong, and entries still have to be encoded before being passed to the sink.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sun, 09 May 2010 19:11:02 +0200 |
parents | 1de6e7e1bb9f |
children | 4484a7b661f2 |
line wrap: on
line source
#!/bin/sh # http://mercurial.selenic.com/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