tests/test-hardlinks.t
author Sandu Turcan <idlsoft@gmail.com>
Tue, 03 May 2022 21:44:30 -0400
branchstable
changeset 49241 6b10151b9621
parent 48669 7ee07e1a25c0
child 48876 42d2b31cee0b
permissions -rw-r--r--
narrow_widen_acl: enforce narrowacl in narrow_widen (SEC) Reviewer note: this was sent by the author as a simple bugfix, but can be considered a security patch, since it allows users to access things outside of the ACL, hence the (SEC) prefix. However, this affects the `narrow` extention which is still marked as experimental and has relatively few users aside from large companies with their own security layers on top from what we can gather. We feel (Alphare: or at least, I feel) like pinging the packaging list is enough in this case.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
37338
cbc4425e81b5 tests: conditionalize tests based on presence of revlogs for files
Gregory Szorc <gregory.szorc@gmail.com>
parents: 35393
diff changeset
     1
#require hardlink reporevlogstore
16971
8aeb2f1ae94c tests: introduce hghave hardlinks
Mads Kiilerich <mads@kiilerich.com>
parents: 16918
diff changeset
     2
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     3
  $ cat > nlinks.py <<EOF
33721
24849d53697d tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents: 33427
diff changeset
     4
  > from __future__ import print_function
16918
b112e265b78a test-hardlinks: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16913
diff changeset
     5
  > import sys
40869
f79659e1e50f py3: convert filename to bytes in test-hardlinks.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40835
diff changeset
     6
  > from mercurial import pycompat, util
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     7
  > for f in sorted(sys.stdin.readlines()):
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     8
  >     f = f[:-1]
40869
f79659e1e50f py3: convert filename to bytes in test-hardlinks.t
Matt Harbison <matt_harbison@yahoo.com>
parents: 40835
diff changeset
     9
  >     print(util.nlinks(pycompat.fsencode(f)), f)
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    10
  > EOF
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    11
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    12
  $ nlinksdir()
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    13
  > {
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39489
diff changeset
    14
  >     find "$@" -type f | "$PYTHON" $TESTTMP/nlinks.py
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    15
  > }
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    16
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
    17
Some implementations of cp can't create hardlinks (replaces 'cp -al' on Linux):
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
    18
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
    19
  $ cat > linkcp.py <<EOF
33958
163b6b7f333c tests: update test-hardlinks to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
    20
  > from __future__ import absolute_import
163b6b7f333c tests: update test-hardlinks to pass our import checker
Augie Fackler <raf@durin42.com>
parents: 33721
diff changeset
    21
  > import sys
40332
e0dea186ab6e py3: fix test-hardlinks.t
Mark Thomas <mbthomas@fb.com>
parents: 39707
diff changeset
    22
  > from mercurial import pycompat, util
e0dea186ab6e py3: fix test-hardlinks.t
Mark Thomas <mbthomas@fb.com>
parents: 39707
diff changeset
    23
  > util.copyfiles(pycompat.fsencode(sys.argv[1]),
e0dea186ab6e py3: fix test-hardlinks.t
Mark Thomas <mbthomas@fb.com>
parents: 39707
diff changeset
    24
  >                pycompat.fsencode(sys.argv[2]), hardlink=True)
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
    25
  > EOF
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
    26
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
    27
  $ linkcp()
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
    28
  > {
39707
5abc47d4ca6b tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents: 39489
diff changeset
    29
  >     "$PYTHON" $TESTTMP/linkcp.py $1 $2
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
    30
  > }
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
    31
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    32
Prepare repo r1:
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    33
13956
ffb5c09ba822 tests: remove redundant mkdir
Martin Geisler <mg@lazybytes.net>
parents: 13272
diff changeset
    34
  $ hg init r1
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    35
  $ cd r1
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    36
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    37
  $ echo c1 > f1
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    38
  $ hg add f1
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    39
  $ hg ci -m0
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    40
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    41
  $ mkdir d1
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    42
  $ cd d1
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    43
  $ echo c2 > f2
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    44
  $ hg add f2
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    45
  $ hg ci -m1
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    46
  $ cd ../..
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    47
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    48
  $ nlinksdir r1/.hg/store
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    49
  1 r1/.hg/store/00changelog.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    50
  1 r1/.hg/store/00manifest.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    51
  1 r1/.hg/store/data/d1/f2.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    52
  1 r1/.hg/store/data/f1.i
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
    53
  1 r1/.hg/store/fncache (repofncache !)
15483
9ae766f2f452 phases: set new commit in 1-phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15455
diff changeset
    54
  1 r1/.hg/store/phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47447
diff changeset
    55
  1 r1/.hg/store/requires
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    56
  1 r1/.hg/store/undo
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
    57
  1 r1/.hg/store/undo.backup.fncache (repofncache !)
23904
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23786
diff changeset
    58
  1 r1/.hg/store/undo.backupfiles
15455
c6f87bdab2a1 phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15444
diff changeset
    59
  1 r1/.hg/store/undo.phaseroots
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    60
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    61
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    62
Create hardlinked clone r2:
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    63
25125
bd625cd4e5e7 progress: get the extremely verbose output out of default debug
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 24440
diff changeset
    64
  $ hg clone -U --debug r1 r2 --config progress.debug=true
47447
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
    65
  linking: 1/7 files (14.29%)
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
    66
  linking: 2/7 files (28.57%)
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
    67
  linking: 3/7 files (42.86%)
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
    68
  linking: 4/7 files (57.14%)
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
    69
  linking: 5/7 files (71.43%)
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
    70
  linking: 6/7 files (85.71%)
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
    71
  linking: 7/7 files (100.00%)
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    72
  linked 7 files
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
    73
  updating the branch cache
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    74
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    75
Create non-hardlinked clone r3:
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    76
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    77
  $ hg clone --pull r1 r3
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    78
  requesting all changes
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    79
  adding changesets
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    80
  adding manifests
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    81
  adding file changes
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    82
  added 2 changesets with 2 changes to 2 files
34661
eb586ed5d8ce transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 33958
diff changeset
    83
  new changesets 40d85e9847f2:7069c422939c
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    84
  updating to branch default
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    85
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    86
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    87
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    88
Repos r1 and r2 should now contain hardlinked files:
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    89
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    90
  $ nlinksdir r1/.hg/store
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    91
  2 r1/.hg/store/00changelog.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    92
  2 r1/.hg/store/00manifest.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    93
  2 r1/.hg/store/data/d1/f2.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    94
  2 r1/.hg/store/data/f1.i
47447
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
    95
  1 r1/.hg/store/fncache (repofncache !)
15483
9ae766f2f452 phases: set new commit in 1-phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15455
diff changeset
    96
  1 r1/.hg/store/phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47447
diff changeset
    97
  1 r1/.hg/store/requires
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    98
  1 r1/.hg/store/undo
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
    99
  1 r1/.hg/store/undo.backup.fncache (repofncache !)
23904
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23786
diff changeset
   100
  1 r1/.hg/store/undo.backupfiles
15455
c6f87bdab2a1 phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15444
diff changeset
   101
  1 r1/.hg/store/undo.phaseroots
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   102
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   103
  $ nlinksdir r2/.hg/store
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   104
  2 r2/.hg/store/00changelog.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   105
  2 r2/.hg/store/00manifest.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   106
  2 r2/.hg/store/data/d1/f2.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   107
  2 r2/.hg/store/data/f1.i
47447
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
   108
  1 r2/.hg/store/fncache (repofncache !)
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47447
diff changeset
   109
  1 r2/.hg/store/requires
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   110
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   111
Repo r3 should not be hardlinked:
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   112
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   113
  $ nlinksdir r3/.hg/store
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   114
  1 r3/.hg/store/00changelog.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   115
  1 r3/.hg/store/00manifest.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   116
  1 r3/.hg/store/data/d1/f2.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   117
  1 r3/.hg/store/data/f1.i
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   118
  1 r3/.hg/store/fncache (repofncache !)
15659
7fba5a245acc phases: change publish behavior to only alter behavior when server.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15483
diff changeset
   119
  1 r3/.hg/store/phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47447
diff changeset
   120
  1 r3/.hg/store/requires
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   121
  1 r3/.hg/store/undo
23904
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23786
diff changeset
   122
  1 r3/.hg/store/undo.backupfiles
15455
c6f87bdab2a1 phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15444
diff changeset
   123
  1 r3/.hg/store/undo.phaseroots
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   124
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   125
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   126
Create a non-inlined filelog in r3:
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   127
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   128
  $ cd r3/d1
16918
b112e265b78a test-hardlinks: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16913
diff changeset
   129
  >>> f = open('data1', 'wb')
b112e265b78a test-hardlinks: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16913
diff changeset
   130
  >>> for x in range(10000):
38086
b95a6fb7ae66 py3: fix .write() calls in few tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 37415
diff changeset
   131
  ...     f.write(b"%d\n" % x) and None
16918
b112e265b78a test-hardlinks: enable for Windows
Adrian Buehlmann <adrian@cadifra.com>
parents: 16913
diff changeset
   132
  >>> f.close()
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   133
  $ for j in 0 1 2 3 4 5 6 7 8 9; do
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   134
  >   cat data1 >> f2
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   135
  >   hg commit -m$j
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   136
  > done
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   137
  $ cd ../..
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   138
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   139
  $ nlinksdir r3/.hg/store
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   140
  1 r3/.hg/store/00changelog.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   141
  1 r3/.hg/store/00manifest.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   142
  1 r3/.hg/store/data/d1/f2.d
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   143
  1 r3/.hg/store/data/d1/f2.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   144
  1 r3/.hg/store/data/f1.i
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   145
  1 r3/.hg/store/fncache (repofncache !)
15483
9ae766f2f452 phases: set new commit in 1-phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15455
diff changeset
   146
  1 r3/.hg/store/phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47447
diff changeset
   147
  1 r3/.hg/store/requires
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   148
  1 r3/.hg/store/undo
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   149
  1 r3/.hg/store/undo.backup.fncache (repofncache !)
23904
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23786
diff changeset
   150
  1 r3/.hg/store/undo.backup.phaseroots
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23786
diff changeset
   151
  1 r3/.hg/store/undo.backupfiles
15455
c6f87bdab2a1 phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15444
diff changeset
   152
  1 r3/.hg/store/undo.phaseroots
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   153
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   154
Push to repo r1 should break up most hardlinks in r2:
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   155
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   156
  $ hg -R r2 verify
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   157
  checking changesets
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   158
  checking manifests
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   159
  crosschecking files in changesets and manifests
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   160
  checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39323
diff changeset
   161
  checked 2 changesets with 2 changes to 2 files
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   162
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   163
  $ cd r3
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   164
  $ hg push
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 34661
diff changeset
   165
  pushing to $TESTTMP/r1
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   166
  searching for changes
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   167
  adding changesets
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   168
  adding manifests
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   169
  adding file changes
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   170
  added 10 changesets with 10 changes to 1 files
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   171
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   172
  $ cd ..
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   173
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   174
  $ nlinksdir r2/.hg/store
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   175
  1 r2/.hg/store/00changelog.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   176
  1 r2/.hg/store/00manifest.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   177
  1 r2/.hg/store/data/d1/f2.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   178
  2 r2/.hg/store/data/f1.i
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   179
  [12] r2/\.hg/store/fncache (re) (repofncache !)
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47447
diff changeset
   180
  1 r2/.hg/store/requires
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   181
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   182
#if hardlink-whitelisted repofncache
32294
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   183
  $ nlinksdir r2/.hg/store/fncache
47447
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
   184
  1 r2/.hg/store/fncache
32294
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   185
#endif
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   186
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   187
  $ hg -R r2 verify
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   188
  checking changesets
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   189
  checking manifests
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   190
  crosschecking files in changesets and manifests
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   191
  checking files
39489
f1186c292d03 verify: make output less confusing (issue5924)
Meirambek Omyrzak <meirambek77@gmail.com>
parents: 39323
diff changeset
   192
  checked 2 changesets with 2 changes to 2 files
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   193
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   194
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   195
  $ cd r1
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   196
  $ hg up
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   197
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   198
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   199
Committing a change to f1 in r1 must break up hardlink f1.i in r2:
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   200
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   201
  $ echo c1c1 >> f1
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   202
  $ hg ci -m00
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   203
  $ cd ..
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   204
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   205
  $ nlinksdir r2/.hg/store
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   206
  1 r2/.hg/store/00changelog.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   207
  1 r2/.hg/store/00manifest.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   208
  1 r2/.hg/store/data/d1/f2.i
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   209
  1 r2/.hg/store/data/f1.i
47447
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
   210
  1 r2/.hg/store/fncache (repofncache !)
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47447
diff changeset
   211
  1 r2/.hg/store/requires
12967
70b043405400 tests: add test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
   212
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   213
#if hardlink-whitelisted repofncache
32294
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   214
  $ nlinksdir r2/.hg/store/fncache
47447
377d8fc20e34 clone: reuse the stream clone logic for local clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47183
diff changeset
   215
  1 r2/.hg/store/fncache
32294
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   216
#endif
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   217
32721
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   218
Create a file which exec permissions we will change
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   219
  $ cd r3
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   220
  $ echo "echo hello world" > f3
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   221
  $ hg add f3
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   222
  $ hg ci -mf3
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   223
  $ cd ..
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   224
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   225
  $ cd r3
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   226
  $ hg tip --template '{rev}:{node|short}\n'
32721
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   227
  12:d3b77733a28a
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   228
  $ echo bla > f1
32721
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   229
  $ chmod +x f3
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   230
  $ hg ci -m1
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   231
  $ cd ..
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   232
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   233
Create hardlinked copy r4 of r3 (on Linux, we would call 'cp -al'):
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   234
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   235
  $ linkcp r3 r4
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   236
32295
b9135f191d8a test-hardlink: do not test .hg/cache/checklink
Jun Wu <quark@fb.com>
parents: 32294
diff changeset
   237
'checklink' is produced by hardlinking a symlink, which is undefined whether
b9135f191d8a test-hardlink: do not test .hg/cache/checklink
Jun Wu <quark@fb.com>
parents: 32294
diff changeset
   238
the symlink should be followed or not. It does behave differently on Linux and
b9135f191d8a test-hardlink: do not test .hg/cache/checklink
Jun Wu <quark@fb.com>
parents: 32294
diff changeset
   239
BSD. Just remove it so the test pass on both platforms.
b9135f191d8a test-hardlink: do not test .hg/cache/checklink
Jun Wu <quark@fb.com>
parents: 32294
diff changeset
   240
40835
a444b7eb4633 tests: update `rm` invocation for new location of checklink
Augie Fackler <augie@google.com>
parents: 40807
diff changeset
   241
  $ rm -f r4/.hg/wcache/checklink
32295
b9135f191d8a test-hardlink: do not test .hg/cache/checklink
Jun Wu <quark@fb.com>
parents: 32294
diff changeset
   242
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   243
r4 has hardlinks in the working dir (not just inside .hg):
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   244
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   245
  $ nlinksdir r4
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   246
  2 r4/.hg/00changelog.i
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   247
  2 r4/.hg/branch
32304
37bcb4665529 tests: fix up recent conditionalized output changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 32295
diff changeset
   248
  2 r4/.hg/cache/branch2-base
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   249
  2 r4/.hg/cache/branch2-immutable
32304
37bcb4665529 tests: fix up recent conditionalized output changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 32295
diff changeset
   250
  2 r4/.hg/cache/branch2-served
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   251
  2 r4/.hg/cache/branch2-served.hidden
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   252
  2 r4/.hg/cache/branch2-visible
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   253
  2 r4/.hg/cache/branch2-visible-hidden
23786
7d63398fbfd1 branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents: 22648
diff changeset
   254
  2 r4/.hg/cache/rbc-names-v1
7d63398fbfd1 branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents: 22648
diff changeset
   255
  2 r4/.hg/cache/rbc-revs-v1
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   256
  2 r4/.hg/cache/tags2
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   257
  2 r4/.hg/cache/tags2-served
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   258
  2 r4/.hg/dirstate
33427
1bdafe1111ce tests: add extra output for fsmonitor at checking under .hg
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32940
diff changeset
   259
  2 r4/.hg/fsmonitor.state (fsmonitor !)
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   260
  2 r4/.hg/hgrc
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   261
  2 r4/.hg/last-message.txt
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   262
  2 r4/.hg/requires
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   263
  2 r4/.hg/store/00changelog.i
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   264
  2 r4/.hg/store/00manifest.i
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   265
  2 r4/.hg/store/data/d1/f2.d
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   266
  2 r4/.hg/store/data/d1/f2.i
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   267
  2 r4/.hg/store/data/f1.i
32721
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   268
  2 r4/.hg/store/data/f3.i
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   269
  2 r4/.hg/store/fncache (repofncache !)
15483
9ae766f2f452 phases: set new commit in 1-phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15455
diff changeset
   270
  2 r4/.hg/store/phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47447
diff changeset
   271
  2 r4/.hg/store/requires
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   272
  2 r4/.hg/store/undo
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   273
  2 r4/.hg/store/undo.backup.fncache (repofncache !)
23904
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23786
diff changeset
   274
  2 r4/.hg/store/undo.backup.phaseroots
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23786
diff changeset
   275
  2 r4/.hg/store/undo.backupfiles
15455
c6f87bdab2a1 phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15444
diff changeset
   276
  2 r4/.hg/store/undo.phaseroots
31577
e7a02e9ad162 util: enable hardlink for copyfile
Jun Wu <quark@fb.com>
parents: 30555
diff changeset
   277
  [24] r4/\.hg/undo\.backup\.dirstate (re)
14266
89e7d35e0ef0 fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents: 13272
diff changeset
   278
  2 r4/.hg/undo.bookmarks
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   279
  2 r4/.hg/undo.branch
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   280
  2 r4/.hg/undo.desc
31577
e7a02e9ad162 util: enable hardlink for copyfile
Jun Wu <quark@fb.com>
parents: 30555
diff changeset
   281
  [24] r4/\.hg/undo\.dirstate (re)
40807
f6d37e84d8f9 tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 40792
diff changeset
   282
  2 r4/.hg/wcache/checkisexec (execbit !)
f6d37e84d8f9 tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 40792
diff changeset
   283
  2 r4/.hg/wcache/checklink-target (symlink !)
f6d37e84d8f9 tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 40792
diff changeset
   284
  2 r4/.hg/wcache/checknoexec (execbit !)
41965
e4ac7e63c213 manifestcache: use `wcache` directory for manifest cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41964
diff changeset
   285
  2 r4/.hg/wcache/manifestfulltextcache (reporevlogstore !)
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   286
  2 r4/d1/data1
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   287
  2 r4/d1/f2
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   288
  2 r4/f1
32721
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   289
  2 r4/f3
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   290
32721
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   291
Update back to revision 12 in r4 should break hardlink of file f1 and f3:
32294
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   292
#if hardlink-whitelisted
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   293
  $ nlinksdir r4/.hg/undo.backup.dirstate r4/.hg/undo.dirstate
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   294
  4 r4/.hg/undo.backup.dirstate
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   295
  4 r4/.hg/undo.dirstate
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   296
#endif
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   297
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   298
32721
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   299
  $ hg -R r4 up 12
32780
5e76a07e9f42 test-hardlinks: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32721
diff changeset
   300
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved (execbit !)
5e76a07e9f42 test-hardlinks: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32721
diff changeset
   301
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved (no-execbit !)
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   302
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   303
  $ nlinksdir r4
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   304
  2 r4/.hg/00changelog.i
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   305
  1 r4/.hg/branch
32304
37bcb4665529 tests: fix up recent conditionalized output changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 32295
diff changeset
   306
  2 r4/.hg/cache/branch2-base
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   307
  2 r4/.hg/cache/branch2-immutable
32304
37bcb4665529 tests: fix up recent conditionalized output changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 32295
diff changeset
   308
  2 r4/.hg/cache/branch2-served
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   309
  2 r4/.hg/cache/branch2-served.hidden
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   310
  2 r4/.hg/cache/branch2-visible
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   311
  2 r4/.hg/cache/branch2-visible-hidden
23786
7d63398fbfd1 branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents: 22648
diff changeset
   312
  2 r4/.hg/cache/rbc-names-v1
7d63398fbfd1 branchmap: use revbranchcache when updating branch map
Mads Kiilerich <madski@unity3d.com>
parents: 22648
diff changeset
   313
  2 r4/.hg/cache/rbc-revs-v1
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   314
  2 r4/.hg/cache/tags2
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41965
diff changeset
   315
  2 r4/.hg/cache/tags2-served
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   316
  1 r4/.hg/dirstate
33427
1bdafe1111ce tests: add extra output for fsmonitor at checking under .hg
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 32940
diff changeset
   317
  1 r4/.hg/fsmonitor.state (fsmonitor !)
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   318
  2 r4/.hg/hgrc
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   319
  2 r4/.hg/last-message.txt
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   320
  2 r4/.hg/requires
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   321
  2 r4/.hg/store/00changelog.i
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   322
  2 r4/.hg/store/00manifest.i
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   323
  2 r4/.hg/store/data/d1/f2.d
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   324
  2 r4/.hg/store/data/d1/f2.i
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   325
  2 r4/.hg/store/data/f1.i
32721
c2cb0de25120 chmod: create a new file when flags are set on a hardlinked file
Koen Van Hoof <koen.van_hoof@nokia.com>
parents: 32304
diff changeset
   326
  2 r4/.hg/store/data/f3.i
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   327
  2 r4/.hg/store/fncache
15483
9ae766f2f452 phases: set new commit in 1-phase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15455
diff changeset
   328
  2 r4/.hg/store/phaseroots
48669
7ee07e1a25c0 share-safe: enable by default (BC)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 47447
diff changeset
   329
  2 r4/.hg/store/requires
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   330
  2 r4/.hg/store/undo
37415
c2c8962a9465 simplestore: use a custom store for the simple store repo
Gregory Szorc <gregory.szorc@gmail.com>
parents: 37338
diff changeset
   331
  2 r4/.hg/store/undo.backup.fncache (repofncache !)
23904
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23786
diff changeset
   332
  2 r4/.hg/store/undo.backup.phaseroots
d251da5e0e84 transaction: include backup file in the "undo" transaction
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 23786
diff changeset
   333
  2 r4/.hg/store/undo.backupfiles
15455
c6f87bdab2a1 phases: add rollback support
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15444
diff changeset
   334
  2 r4/.hg/store/undo.phaseroots
31577
e7a02e9ad162 util: enable hardlink for copyfile
Jun Wu <quark@fb.com>
parents: 30555
diff changeset
   335
  [24] r4/\.hg/undo\.backup\.dirstate (re)
14266
89e7d35e0ef0 fix bookmarks rollback behavior
Alexander Solovyov <alexander@solovyov.net>
parents: 13272
diff changeset
   336
  2 r4/.hg/undo.bookmarks
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   337
  2 r4/.hg/undo.branch
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   338
  2 r4/.hg/undo.desc
31577
e7a02e9ad162 util: enable hardlink for copyfile
Jun Wu <quark@fb.com>
parents: 30555
diff changeset
   339
  [24] r4/\.hg/undo\.dirstate (re)
40807
f6d37e84d8f9 tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 40792
diff changeset
   340
  2 r4/.hg/wcache/checkisexec (execbit !)
f6d37e84d8f9 tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 40792
diff changeset
   341
  2 r4/.hg/wcache/checklink-target (symlink !)
f6d37e84d8f9 tests: stabilize for recent wcache changes
Matt Harbison <matt_harbison@yahoo.com>
parents: 40792
diff changeset
   342
  2 r4/.hg/wcache/checknoexec (execbit !)
41965
e4ac7e63c213 manifestcache: use `wcache` directory for manifest cache
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 41964
diff changeset
   343
  1 r4/.hg/wcache/manifestfulltextcache (reporevlogstore !)
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   344
  2 r4/d1/data1
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   345
  2 r4/d1/f2
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   346
  1 r4/f1
32780
5e76a07e9f42 test-hardlinks: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32721
diff changeset
   347
  1 r4/f3 (execbit !)
5e76a07e9f42 test-hardlinks: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 32721
diff changeset
   348
  2 r4/f3 (no-execbit !)
13019
42ac864ed394 test-hardlinks: add testcase for repo copied with 'cp -al'
Adrian Buehlmann <adrian@cadifra.com>
parents: 12967
diff changeset
   349
32294
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   350
#if hardlink-whitelisted
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   351
  $ nlinksdir r4/.hg/undo.backup.dirstate r4/.hg/undo.dirstate
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   352
  4 r4/.hg/undo.backup.dirstate
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   353
  4 r4/.hg/undo.dirstate
905a2eff08a6 test-hardlinks: unify two test files into one
Jun Wu <quark@fb.com>
parents: 32268
diff changeset
   354
#endif
13034
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   355
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   356
Test hardlinking outside hg:
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   357
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   358
  $ mkdir x
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   359
  $ echo foo > x/a
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   360
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   361
  $ linkcp x y
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   362
  $ echo bar >> y/a
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   363
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   364
No diff if hardlink:
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   365
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   366
  $ diff x/a y/a
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   367
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   368
Test mq hardlinking:
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   369
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   370
  $ echo "[extensions]" >> $HGRCPATH
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   371
  $ echo "mq=" >> $HGRCPATH
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   372
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   373
  $ hg init a
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   374
  $ cd a
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   375
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   376
  $ hg qimport -n foo - << EOF
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   377
  > # HG changeset patch
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   378
  > # Date 1 0
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   379
  > diff -r 2588a8b53d66 a
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   380
  > --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   381
  > +++ b/a	Wed Jul 23 15:54:29 2008 +0200
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   382
  > @@ -0,0 +1,1 @@
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   383
  > +a
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   384
  > EOF
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   385
  adding foo to series file
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   386
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   387
  $ hg qpush
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   388
  applying foo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   389
  now at: foo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   390
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   391
  $ cd ..
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   392
  $ linkcp a b
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   393
  $ cd b
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   394
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   395
  $ hg qimport -n bar - << EOF
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   396
  > # HG changeset patch
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   397
  > # Date 2 0
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   398
  > diff -r 2588a8b53d66 a
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   399
  > --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   400
  > +++ b/b	Wed Jul 23 15:54:29 2008 +0200
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   401
  > @@ -0,0 +1,1 @@
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   402
  > +b
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   403
  > EOF
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   404
  adding bar to series file
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   405
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   406
  $ hg qpush
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   407
  applying bar
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   408
  now at: bar
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   409
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   410
  $ cat .hg/patches/status
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   411
  430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   412
  4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c:bar
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   413
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   414
  $ cat .hg/patches/series
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   415
  foo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   416
  bar
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   417
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   418
  $ cat ../a/.hg/patches/status
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   419
  430ed4828a74fa4047bc816a25500f7472ab4bfe:foo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   420
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   421
  $ cat ../a/.hg/patches/series
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   422
  foo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   423
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   424
Test tags hardlinking:
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   425
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   426
  $ hg qdel -r qbase:qtip
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   427
  patch foo finalized without changeset message
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   428
  patch bar finalized without changeset message
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   429
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   430
  $ hg tag -l lfoo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   431
  $ hg tag foo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   432
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   433
  $ cd ..
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   434
  $ linkcp b c
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   435
  $ cd c
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   436
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   437
  $ hg tag -l -r 0 lbar
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   438
  $ hg tag -r 0 bar
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   439
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   440
  $ cat .hgtags
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   441
  4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   442
  430ed4828a74fa4047bc816a25500f7472ab4bfe bar
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   443
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   444
  $ cat .hg/localtags
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   445
  4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   446
  430ed4828a74fa4047bc816a25500f7472ab4bfe lbar
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   447
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   448
  $ cat ../b/.hgtags
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   449
  4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c foo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   450
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   451
  $ cat ../b/.hg/localtags
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   452
  4e7abb4840c46a910f6d7b4d3c3fc7e5209e684c lfoo
8cb33163b391 tests: integrate test-hardlinks-safety.t into test-hardlinks.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 13019
diff changeset
   453
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15659
diff changeset
   454
  $ cd ..