tests/test-eol-clone.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Mon, 05 Apr 2021 12:21:12 +0200
changeset 46858 85e3a630cad9
parent 46314 95a615dd77bf
child 51181 dcaa2df1f688
permissions -rw-r--r--
revlog: move the details of revlog "v2" index inside revlog.utils.constants the revlog module is quite large and this kind of format information would handy for other module. So let us start to gather this information about the format in a more appropriate place. We update various reference to this information to use the new "source of truth" in the process. Differential Revision: https://phab.mercurial-scm.org/D10305
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     1
Testing cloning with the EOL extension
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     2
13519
43b3b761d9d1 tests: don't overwrite HGRCPATH
Martin Geisler <mg@aragost.com>
parents: 12943
diff changeset
     3
  $ cat >> $HGRCPATH <<EOF
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     4
  > [extensions]
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     5
  > eol =
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     6
  > 
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     7
  > [eol]
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     8
  > native = CRLF
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     9
  > EOF
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    10
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    11
setup repository
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    12
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    13
  $ hg init repo
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    14
  $ cd repo
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    15
  $ cat > .hgeol <<EOF
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    16
  > [patterns]
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    17
  > **.txt = native
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    18
  > EOF
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    19
  $ printf "first\r\nsecond\r\nthird\r\n" > a.txt
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    20
  $ hg commit --addremove -m 'checkin'
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    21
  adding .hgeol
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    22
  adding a.txt
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    23
43207
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    24
Test commit of removed .hgeol and how it immediately makes the automatic
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    25
changes explicit and committable.
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    26
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    27
  $ cd ..
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    28
  $ hg clone repo repo-2
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    29
  updating to branch default
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    30
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    31
  $ cd repo-2
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    32
  $ cat a.txt
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    33
  first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    34
  second\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    35
  third\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    36
  $ hg cat a.txt
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    37
  first
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    38
  second
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    39
  third
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    40
  $ hg remove .hgeol
43206
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    41
  $ touch a.txt *  # ensure consistent st dirtyness checks, ignoring dirstate timing
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    42
  $ hg st -v --debug
43207
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    43
  M a.txt
43206
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    44
  R .hgeol
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    45
  $ hg commit -m 'remove eol'
43206
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    46
  $ hg exp
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    47
  # HG changeset patch
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    48
  # User test
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    49
  # Date 0 0
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    50
  #      Thu Jan 01 00:00:00 1970 +0000
43207
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    51
  # Node ID 3c20c2d90333b6ecdc8f7aa8f9b73223c7c7a608
43206
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    52
  # Parent  90f94e2cf4e24628afddd641688dfe4cd476d6e4
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    53
  remove eol
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    54
  
43207
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    55
  diff -r 90f94e2cf4e2 -r 3c20c2d90333 .hgeol
43206
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    56
  --- a/.hgeol	Thu Jan 01 00:00:00 1970 +0000
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    57
  +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    58
  @@ -1,2 +0,0 @@
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    59
  -[patterns]
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    60
  -**.txt = native
43207
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    61
  diff -r 90f94e2cf4e2 -r 3c20c2d90333 a.txt
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    62
  --- a/a.txt	Thu Jan 01 00:00:00 1970 +0000
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    63
  +++ b/a.txt	Thu Jan 01 00:00:00 1970 +0000
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    64
  @@ -1,3 +1,3 @@
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    65
  -first
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    66
  -second
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    67
  -third
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    68
  +first\r (esc)
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    69
  +second\r (esc)
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    70
  +third\r (esc)
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    71
  $ hg push --quiet
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    72
  $ cd ..
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    73
43206
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    74
Test clone of repo with .hgeol in working dir, but no .hgeol in default
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    75
checkout revision tip. The repo is correctly updated to be consistent and have
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    76
the exact content checked out without filtering, ignoring the current .hgeol in
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    77
the source repo:
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    78
43206
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    79
  $ cat repo/.hgeol
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    80
  [patterns]
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    81
  **.txt = native
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    82
  $ hg clone repo repo-3 -v --debug
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    83
  linked 7 files
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    84
  updating to branch default
43206
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    85
  resolving manifests
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    86
   branchmerge: False, force: False, partial: False
43207
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    87
   ancestor: 000000000000, local: 000000000000+, remote: 3c20c2d90333
43206
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    88
  calling hook preupdate.eol: hgext.eol.preupdate
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    89
   a.txt: remote created -> g
7699d9237a67 eol: tweak test-eol-clone.t with better descriptions and logging
Mads Kiilerich <mads@kiilerich.com>
parents: 34661
diff changeset
    90
  getting a.txt
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    91
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
46314
95a615dd77bf clone: make sure we warm the cache after a clone
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 43207
diff changeset
    92
  updating the branch cache
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    93
  $ cd repo-3
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    94
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
    95
  $ cat a.txt
43207
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    96
  first\r (esc)
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    97
  second\r (esc)
4aa9f3a1c1df eol: don't fallback to use .hgeol from tip (BC)
Mads Kiilerich <mads@kiilerich.com>
parents: 43206
diff changeset
    98
  third\r (esc)
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    99
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   100
Test clone of revision with .hgeol
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
   101
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   102
  $ cd ..
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   103
  $ hg clone -r 0 repo repo-4
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   104
  adding changesets
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   105
  adding manifests
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   106
  adding file changes
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   107
  added 1 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: 16913
diff changeset
   108
  new changesets 90f94e2cf4e2
12422
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   109
  updating to branch default
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   110
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   111
  $ cd repo-4
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   112
  $ cat .hgeol
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   113
  [patterns]
4263359f7eac tests: unify test-eol-clone
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
   114
  **.txt = native
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
   115
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
   116
  $ cat a.txt
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
   117
  first\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
   118
  second\r (esc)
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12847
diff changeset
   119
  third\r (esc)
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 13521
diff changeset
   120
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 13521
diff changeset
   121
  $ cd ..