tests/test-eol-hook.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Wed, 21 Feb 2024 13:05:29 +0100
changeset 51420 ac1c75188440
parent 42897 d7304434390f
permissions -rw-r--r--
phases: invalidate the phases set less often on retract boundary We already have the information to update the phase set, so we do so directly instead of invalidating the cache. This show a sizeable speedup in our `perf::unbundle` benchmark on the many-draft mozilla-try repository. ### data-env-vars.name = mozilla-try-2023-03-22-zstd-sparse-revlog # benchmark.name = hg.perf.perf-unbundle # bin-env-vars.hg.flavor = no-rust # bin-env-vars.hg.py-re2-module = default # benchmark.variants.issue6528 = disabled # benchmark.variants.revs = last-10 before: 2.055259 seconds after: 1.887064 seconds (-8.18%) # benchmark.variants.revs = last-100 before: 2.409239 seconds after: 2.222429 seconds (-7.75%) # benchmark.variants.revs = last-1000 before: 3.945648 seconds after: 3.762480 seconds (-4.64%)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12423
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     1
Test the EOL hook
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
     2
12423
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     3
  $ hg init main
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     4
  $ cat > main/.hg/hgrc <<EOF
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     5
  > [hooks]
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     6
  > pretxnchangegroup = python:hgext.eol.hook
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     7
  > EOF
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     8
  $ hg clone main fork
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
     9
  updating to branch default
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    10
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    11
  $ cd fork
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    12
12423
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    13
Create repo
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    14
  $ cat > .hgeol <<EOF
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    15
  > [patterns]
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    16
  > mixed.txt = BIN
13501
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    17
  > crlf.txt = CRLF
12423
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    18
  > **.txt = native
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    19
  > EOF
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    20
  $ hg add .hgeol
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    21
  $ hg commit -m 'Commit .hgeol'
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    22
12423
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    23
  $ printf "first\nsecond\nthird\n" > a.txt
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    24
  $ hg add a.txt
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    25
  $ hg commit -m 'LF a.txt'
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    26
  $ hg push ../main
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    27
  pushing to ../main
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    28
  searching for changes
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    29
  adding changesets
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    30
  adding manifests
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    31
  adding file changes
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    32
  added 2 changesets with 2 changes to 2 files
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    33
12423
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    34
  $ printf "first\r\nsecond\r\nthird\n" > a.txt
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    35
  $ hg commit -m 'CRLF a.txt'
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    36
  $ hg push ../main
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    37
  pushing to ../main
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    38
  searching for changes
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    39
  adding changesets
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    40
  adding manifests
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    41
  adding file changes
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    42
  error: pretxnchangegroup hook failed: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    43
    a.txt in a8ee6548cd86 should not have CRLF line endings
12423
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    44
  transaction abort!
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    45
  rollback completed
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    46
  abort: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    47
    a.txt in a8ee6548cd86 should not have CRLF line endings
12423
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    48
  [255]
11249
0bb67503ad4b eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff changeset
    49
12423
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    50
  $ printf "first\nsecond\nthird\n" > a.txt
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    51
  $ hg commit -m 'LF a.txt (fixed)'
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    52
  $ hg push ../main
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    53
  pushing to ../main
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    54
  searching for changes
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    55
  adding changesets
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    56
  adding manifests
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    57
  adding file changes
10c3385fa89e tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents: 11249
diff changeset
    58
  added 2 changesets with 2 changes to 1 files
13501
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    59
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    60
  $ printf "first\nsecond\nthird\n" > crlf.txt
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    61
  $ hg add crlf.txt
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    62
  $ hg commit -m 'LF crlf.txt'
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    63
  $ hg push ../main
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    64
  pushing to ../main
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    65
  searching for changes
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    66
  adding changesets
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    67
  adding manifests
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    68
  adding file changes
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    69
  error: pretxnchangegroup hook failed: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    70
    crlf.txt in 004ba2132725 should not have LF line endings
13501
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    71
  transaction abort!
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    72
  rollback completed
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    73
  abort: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    74
    crlf.txt in 004ba2132725 should not have LF line endings
13501
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    75
  [255]
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    76
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    77
  $ printf "first\r\nsecond\r\nthird\r\n" > crlf.txt
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    78
  $ hg commit -m 'CRLF crlf.txt (fixed)'
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    79
  $ hg push ../main
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    80
  pushing to ../main
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    81
  searching for changes
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    82
  adding changesets
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    83
  adding manifests
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    84
  adding file changes
50b825c1adb1 eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents: 12423
diff changeset
    85
  added 2 changesets with 2 changes to 1 files
13616
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    86
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    87
  $ printf "first\r\nsecond" > b.txt
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    88
  $ hg add b.txt
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    89
  $ hg commit -m 'CRLF b.txt'
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    90
  $ hg push ../main
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    91
  pushing to ../main
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    92
  searching for changes
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    93
  adding changesets
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    94
  adding manifests
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    95
  adding file changes
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    96
  error: pretxnchangegroup hook failed: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
    97
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13616
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    98
  transaction abort!
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
    99
  rollback completed
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   100
  abort: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   101
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13616
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   102
  [255]
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   103
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   104
  $ hg up -r -2
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   105
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   106
  $ printf "some\nother\nfile" > c.txt
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   107
  $ hg add c.txt
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   108
  $ hg commit -m "LF c.txt, b.txt doesn't exist here"
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   109
  created new head
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   110
  $ hg push -f ../main
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   111
  pushing to ../main
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   112
  searching for changes
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   113
  adding changesets
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   114
  adding manifests
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   115
  adding file changes
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   116
  error: pretxnchangegroup hook failed: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   117
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13616
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   118
  transaction abort!
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   119
  rollback completed
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   120
  abort: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   121
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13616
e6f93ca9ce86 eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents: 13615
diff changeset
   122
  [255]
13617
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   123
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   124
Test checkheadshook alias
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   125
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   126
  $ cat > ../main/.hg/hgrc <<EOF
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   127
  > [hooks]
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   128
  > pretxnchangegroup = python:hgext.eol.checkheadshook
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   129
  > EOF
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   130
  $ hg push -f ../main
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   131
  pushing to ../main
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   132
  searching for changes
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   133
  adding changesets
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   134
  adding manifests
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   135
  adding file changes
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   136
  error: pretxnchangegroup hook failed: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   137
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13617
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   138
  transaction abort!
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   139
  rollback completed
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   140
  abort: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   141
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13617
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   142
  [255]
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   143
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   144
We can fix the head and push again
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   145
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   146
  $ hg up 6
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   147
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   148
  $ printf "first\nsecond" > b.txt
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   149
  $ hg ci -m "remove CRLF from b.txt"
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   150
  $ hg push -f ../main
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   151
  pushing to ../main
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   152
  searching for changes
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   153
  adding changesets
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   154
  adding manifests
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   155
  adding file changes
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   156
  added 3 changesets with 3 changes to 2 files (+1 heads)
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   157
  $ hg -R ../main rollback
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   158
  repository tip rolled back to revision 5 (undo push)
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   159
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   160
Test it still fails with checkallhook
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   161
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   162
  $ cat > ../main/.hg/hgrc <<EOF
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   163
  > [hooks]
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   164
  > pretxnchangegroup = python:hgext.eol.checkallhook
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   165
  > EOF
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   166
  $ hg push -f ../main
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   167
  pushing to ../main
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   168
  searching for changes
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   169
  adding changesets
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   170
  adding manifests
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   171
  adding file changes
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   172
  error: pretxnchangegroup hook failed: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   173
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13617
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   174
  transaction abort!
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   175
  rollback completed
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   176
  abort: end-of-line check failed:
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   177
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13617
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   178
  [255]
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   179
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   180
But we can push the clean head
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   181
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   182
  $ hg push -r7 -f ../main
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   183
  pushing to ../main
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   184
  searching for changes
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   185
  adding changesets
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   186
  adding manifests
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   187
  adding file changes
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   188
  added 1 changesets with 1 changes to 1 files
9cb1a42cd4b3 eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents: 13616
diff changeset
   189
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   190
Test multiple files/revisions output
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   191
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   192
  $ printf "another\r\nbad\r\none" > d.txt
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   193
  $ hg add d.txt
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   194
  $ hg ci -m "add d.txt"
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   195
  $ hg push -f ../main
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   196
  pushing to ../main
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   197
  searching for changes
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   198
  adding changesets
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   199
  adding manifests
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   200
  adding file changes
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   201
  error: pretxnchangegroup hook failed: end-of-line check failed:
27524
f5b6b4e574c1 eol: make output stable
Bryan O'Sullivan <bos@serpentine.com>
parents: 16913
diff changeset
   202
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   203
    d.txt in a7040e68714f should not have CRLF line endings
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   204
  transaction abort!
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   205
  rollback completed
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   206
  abort: end-of-line check failed:
27524
f5b6b4e574c1 eol: make output stable
Bryan O'Sullivan <bos@serpentine.com>
parents: 16913
diff changeset
   207
    b.txt in fbcf9b1025f5 should not have CRLF line endings
13649
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   208
    d.txt in a7040e68714f should not have CRLF line endings
328ce8a405ac eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents: 13617
diff changeset
   209
  [255]
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15131
diff changeset
   210
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 15131
diff changeset
   211
  $ cd ..