tests/test-merge-symlinks.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Wed, 22 Feb 2023 03:20:19 +0100
changeset 50152 e9379b55ed80
parent 48876 42d2b31cee0b
permissions -rw-r--r--
dirstate: enforce context set_clean and set_possibly_dirty We don't want them called within a `changing_parents` context, but we still want them called within a context. So we update the decorator accordingly
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
     1
  $ cat > echo.py <<EOF
32938
b6776b34e44e tests: use $PYTHON in #! so we always use the right Python
Augie Fackler <augie@google.com>
parents: 16913
diff changeset
     2
  > #!$PYTHON
33967
00658bb0dfd5 tests: update test-merge-symlinks to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
     3
  > import os
00658bb0dfd5 tests: update test-merge-symlinks to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
     4
  > import sys
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
     5
  > try:
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
     6
  >     import msvcrt
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
     7
  >     msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
     8
  >     msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
     9
  > except ImportError:
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    10
  >     pass
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    11
  > 
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    12
  > for k in ('HG_FILE', 'HG_MY_ISLINK', 'HG_OTHER_ISLINK', 'HG_BASE_ISLINK'):
33721
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 32940
diff changeset
    13
  >     print(k, os.environ[k])
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    14
  > EOF
7080
a6477aa893b8 tests: Windows compatibility fixes
Patrick Mezard <pmezard@gmail.com>
parents: 5408
diff changeset
    15
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    16
Create 2 heads containing the same file, once as
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    17
a file, once as a link. Bundle was generated with:
5391
786c1206a029 Test *_ISLINK merge environment vars
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    18
5408
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    19
# hg init t
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    20
# cd t
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    21
# echo a > a
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    22
# hg ci -qAm t0 -d '0 0'
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    23
# echo l > l
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    24
# hg ci -qAm t1 -d '1 0'
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    25
# hg up -C 0
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    26
# ln -s a l
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    27
# hg ci -qAm t2 -d '2 0'
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    28
# echo l2 > l2
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    29
# hg ci -qAm t3 -d '3 0'
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    30
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    31
  $ hg init t
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    32
  $ cd t
37336
5d10f41ddcc4 tests: use `hg unbundle` instead of `hg pull` in some tests
Gregory Szorc <gregory.szorc@gmail.com>
parents: 33967
diff changeset
    33
  $ hg -q unbundle "$TESTDIR/bundles/test-merge-symlinks.hg"
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    34
  $ hg up -C 3
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    35
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    36
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    37
Merge them and display *_ISLINK vars
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    38
merge heads
5391
786c1206a029 Test *_ISLINK merge environment vars
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    39
39946
2b4c8fa08504 py3: quote $PYTHON in test-merge-symlinks.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 37336
diff changeset
    40
  $ hg merge --tool="\"$PYTHON\" ../echo.py"
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 12788
diff changeset
    41
  merging l
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    42
  HG_FILE l
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    43
  HG_MY_ISLINK 1
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    44
  HG_OTHER_ISLINK 0
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    45
  HG_BASE_ISLINK 0
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    46
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    47
  (branch merge, don't forget to commit)
5408
36794dbe66a3 Test workingctx exec/link bit for copies.
Patrick Mezard <pmezard@gmail.com>
parents: 5391
diff changeset
    48
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    49
Test working directory symlink bit calculation wrt copies,
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    50
especially on non-supporting systems.
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    51
merge working directory
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    52
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    53
  $ hg up -C 2
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    54
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    55
  $ hg copy l l2
39946
2b4c8fa08504 py3: quote $PYTHON in test-merge-symlinks.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 37336
diff changeset
    56
  $ HGMERGE="\"$PYTHON\" ../echo.py" hg up 3
13439
d724a69309e0 util: flush stdout before calling external processes
Mads Kiilerich <mads@kiilerich.com>
parents: 12788
diff changeset
    57
  merging l2
12459
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    58
  HG_FILE l2
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    59
  HG_MY_ISLINK 1
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    60
  HG_OTHER_ISLINK 0
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    61
  HG_BASE_ISLINK 0
15f07e8e4742 tests: unify test-merge-symlinks
Matt Mackall <mpm@selenic.com>
parents: 7080
diff changeset
    62
  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16907
diff changeset
    63
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16907
diff changeset
    64
  $ cd ..