##// END OF EJS Templates
fix: use templater to substitute values in command string...
fix: use templater to substitute values in command string bytes.format() isn't supported on Python 3. Luckily, our template syntax is similar so we can reuse it. We need a hack to disable \-escapes as '\' is a directory separator on Windows.

File last commit:

r37354:5d10f41d default
r37792:d6970628 default
Show More
test-merge-symlinks.t
65 lines | 1.6 KiB | text/troff | Tads3Lexer
/ tests / test-merge-symlinks.t
Matt Mackall
tests: unify test-merge-symlinks
r12459 $ cat > echo.py <<EOF
Augie Fackler
tests: use $PYTHON in #! so we always use the right Python
r32938 > #!$PYTHON
Augie Fackler
tests: update test-merge-symlinks to pass our import checker
r33969 > from __future__ import absolute_import, print_function
> import os
> import sys
Matt Mackall
tests: unify test-merge-symlinks
r12459 > try:
> import msvcrt
> msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
> msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
> except ImportError:
> pass
>
> for k in ('HG_FILE', 'HG_MY_ISLINK', 'HG_OTHER_ISLINK', 'HG_BASE_ISLINK'):
Augie Fackler
tests: clean up many print statements to be print functions instead...
r33687 > print(k, os.environ[k])
Matt Mackall
tests: unify test-merge-symlinks
r12459 > EOF
Create 2 heads containing the same file, once as
a file, once as a link. Bundle was generated with:
# hg init t
# cd t
# echo a > a
# hg ci -qAm t0 -d '0 0'
# echo l > l
# hg ci -qAm t1 -d '1 0'
# hg up -C 0
# ln -s a l
# hg ci -qAm t2 -d '2 0'
# echo l2 > l2
# hg ci -qAm t3 -d '3 0'
$ hg init t
$ cd t
Gregory Szorc
tests: use `hg unbundle` instead of `hg pull` in some tests...
r37354 $ hg -q unbundle "$TESTDIR/bundles/test-merge-symlinks.hg"
Matt Mackall
tests: unify test-merge-symlinks
r12459 $ hg up -C 3
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Merge them and display *_ISLINK vars
merge heads
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ hg merge --tool="$PYTHON ../echo.py"
Mads Kiilerich
util: flush stdout before calling external processes...
r13439 merging l
Matt Mackall
tests: unify test-merge-symlinks
r12459 HG_FILE l
HG_MY_ISLINK 1
HG_OTHER_ISLINK 0
HG_BASE_ISLINK 0
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Test working directory symlink bit calculation wrt copies,
especially on non-supporting systems.
merge working directory
$ hg up -C 2
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ hg copy l l2
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ HGMERGE="$PYTHON ../echo.py" hg up 3
Mads Kiilerich
util: flush stdout before calling external processes...
r13439 merging l2
Matt Mackall
tests: unify test-merge-symlinks
r12459 HG_FILE l2
HG_MY_ISLINK 1
HG_OTHER_ISLINK 0
HG_BASE_ISLINK 0
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..