##// END OF EJS Templates
transaction: issue "new obsmarkers" message at the end of the transaction...
transaction: issue "new obsmarkers" message at the end of the transaction Instead of making bundle2 code responsible for this, it seems better to have it handled and the transaction level. First, it means the message will be more consistently printed. Second it means we won't spam the message over and over if the data arrive in multiple piece. Third, we are planning to move other similar message at the same level (for the same reason) so having them all at the same location will help us to control the order they are displayed.

File last commit:

r38091:0a10f142 default
r43164:38392d5b 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 ..