Mercurial > hg
view tests/test-issue660 @ 11532:f3732ab1149f
setup.py: Adjustments to make setup.py run in py3k.
In py3k, subprocess.Popen.communicate's output are bytes objects. String
literals are Unicode objects. Thus, when a bytes object startswith method is
called, with string literals, it fails. What this patch does is:
* Convert the string (unicode in py3k) literals to bytes objects;
* As "bytes" is not a builtin in python < 2.6, it defines a "b" helper
function that merely returns its argument, as suggested by Antoine Pitrou.
author | Renato Cunha <renatoc@gmail.com> |
---|---|
date | Fri, 02 Jul 2010 16:21:34 -0300 |
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