##// END OF EJS Templates
status: add support for log-like template keywords and functions...
status: add support for log-like template keywords and functions It's bound to ctx2 since "hg status" can be considered to show the status of the files at ctx2 given ctx1 as the base.

File last commit:

r38091:0a10f142 default
r38563:85e3aa21 @67 default
Show More
test-symlink-placeholder.t
79 lines | 1.9 KiB | text/troff | Tads3Lexer
/ tests / test-symlink-placeholder.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require symlink
Mads Kiilerich
tests: use 'hghave symlink' for tests using symlinks
r15441
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 Create extension that can disable symlink support:
$ cat > nolink.py <<EOF
> from mercurial import extensions, util
> def setflags(orig, f, l, x):
> pass
> def checklink(orig, path):
> return False
> def extsetup(ui):
> extensions.wrapfunction(util, 'setflags', setflags)
> extensions.wrapfunction(util, 'checklink', checklink)
> EOF
$ hg init unix-repo
$ cd unix-repo
$ echo foo > a
$ ln -s a b
$ hg ci -Am0
adding a
adding b
$ cd ..
Simulate a checkout shared on NFS/Samba:
$ hg clone -q unix-repo shared
$ cd shared
$ rm b
$ echo foo > b
$ hg --config extensions.n=$TESTTMP/nolink.py status --debug
ignoring suspect symlink placeholder "b"
Make a clone using placeholders:
$ hg --config extensions.n=$TESTTMP/nolink.py clone . ../win-repo
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ../win-repo
$ cat b
a (no-eol)
$ hg --config extensions.n=$TESTTMP/nolink.py st --debug
Siddharth Agarwal
localrepo.status: ignore empty symlink placeholders...
r19650 Empty placeholder:
$ rm b
$ touch b
$ hg --config extensions.n=$TESTTMP/nolink.py st --debug
ignoring suspect symlink placeholder "b"
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 Write binary data to the placeholder:
Pulkit Goyal
py3: suppress the output from .write() calls in few tests...
r38091 >>> open('b', 'w').write('this is a binary\0') and None
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 $ hg --config extensions.n=$TESTTMP/nolink.py st --debug
ignoring suspect symlink placeholder "b"
Write a long string to the placeholder:
Pulkit Goyal
py3: suppress the output from .write() calls in few tests...
r38091 >>> open('b', 'w').write('this' * 1000) and None
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 $ hg --config extensions.n=$TESTTMP/nolink.py st --debug
ignoring suspect symlink placeholder "b"
Commit shouldn't succeed:
$ hg --config extensions.n=$TESTTMP/nolink.py ci -m1
nothing changed
[1]
Write a valid string to the placeholder:
Pulkit Goyal
py3: suppress the output from .write() calls in few tests...
r38091 >>> open('b', 'w').write('this') and None
Matt Mackall
windows: sanity-check symlink placeholders...
r15348 $ hg --config extensions.n=$TESTTMP/nolink.py st --debug
M b
$ hg --config extensions.n=$TESTTMP/nolink.py ci -m1
$ hg manifest tip --verbose
644 a
644 @ b
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..