Mercurial > hg
annotate tests/test-eol-hook.t @ 24787:9d5c27890790
largefiles: for update -C, only update largefiles when necessary
Before, a --clean update with largefiles would use the "optimization" that it
didn't read hashes from standin files before and after the update. Instead of
trusting the content of the standin files, it would rehash all the actual
largefiles that lfdirstate reported clean and update the standins that didn't
have the expected content. It could thus in some "impossible" situations
automatically recover from some "largefile got out sync with its standin"
issues (even there apparently still were weird corner cases where it could
fail). This extra checking is similar to what core --clean intentionally do
not do, and it made update --clean unbearable slow.
Usually in core Mercurial, --clean will rely on the dirstate to find the files
it should update. (It is thus intentionally possible (when trying to trick the
system or if there should be bugs) to end up in situations where --clean not
will restore the working directory content correctly.) Checking every file when
we "know" it is ok is however not an option - that would be too slow.
Instead, trust the content of the standin files. Use the same logic for --clean
as for linear updates and trust the dirstate and that our "logic" will keep
them in sync. It is much cheaper to just rehash the largefiles reported dirty
by a status walk and read all standins than to hash largefiles.
Most of the changes are just a change of indentation now when the different
kinds of updates no longer are handled that differently. Standins for added
files are however only written when doing a normal update, while deleted and
removed files only will be updated for --clean updates.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Wed, 15 Apr 2015 15:22:16 -0400 |
parents | f2719b387380 |
children | f5b6b4e574c1 |
rev | line source |
---|---|
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 |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
42 added 1 changesets with 1 changes to 1 files |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
43 error: pretxnchangegroup hook failed: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
44 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
|
45 transaction abort! |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
46 rollback completed |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
47 abort: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
48 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
|
49 [255] |
11249
0bb67503ad4b
eol: extension for managing file EOLs
Martin Geisler <mg@lazybytes.net>
parents:
diff
changeset
|
50 |
12423
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
51 $ printf "first\nsecond\nthird\n" > a.txt |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
52 $ hg commit -m 'LF a.txt (fixed)' |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
53 $ hg push ../main |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
54 pushing to ../main |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
55 searching for changes |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
56 adding changesets |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
57 adding manifests |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
58 adding file changes |
10c3385fa89e
tests: unify test-eol-hook
Matt Mackall <mpm@selenic.com>
parents:
11249
diff
changeset
|
59 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
|
60 |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
61 $ 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
|
62 $ hg add crlf.txt |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
63 $ 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
|
64 $ hg push ../main |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
65 pushing to ../main |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
66 searching for changes |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
67 adding changesets |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
68 adding manifests |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
69 adding file changes |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
70 added 1 changesets with 1 changes to 1 files |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
71 error: pretxnchangegroup hook failed: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
72 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
|
73 transaction abort! |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
74 rollback completed |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
75 abort: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
76 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
|
77 [255] |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
78 |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
79 $ 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
|
80 $ 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
|
81 $ hg push ../main |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
82 pushing to ../main |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
83 searching for changes |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
84 adding changesets |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
85 adding manifests |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
86 adding file changes |
50b825c1adb1
eol: stop after first matched rule in hook (issue2660)
Antoine Pitrou <solipsis@pitrou.net>
parents:
12423
diff
changeset
|
87 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
|
88 |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
89 $ 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
|
90 $ 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
|
91 $ 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
|
92 $ 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
|
93 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
|
94 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
|
95 adding changesets |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
96 adding manifests |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
97 adding file changes |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
98 added 1 changesets with 1 changes to 1 files |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
99 error: pretxnchangegroup hook failed: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
100 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
|
101 transaction abort! |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
102 rollback completed |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
103 abort: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
104 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
|
105 [255] |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
106 |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
107 $ 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
|
108 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
|
109 $ 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
|
110 $ 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
|
111 $ 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
|
112 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
|
113 $ 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
|
114 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
|
115 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
|
116 adding changesets |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
117 adding manifests |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
118 adding file changes |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
119 added 2 changesets with 2 changes to 2 files (+1 heads) |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
120 error: pretxnchangegroup hook failed: 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 transaction abort! |
e6f93ca9ce86
eol: make the hook check all new heads, not only tip (issue2666)
Patrick Mezard <pmezard@gmail.com>
parents:
13615
diff
changeset
|
123 rollback completed |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
124 abort: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
125 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
|
126 [255] |
13617
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
127 |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
128 Test checkheadshook alias |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
129 |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
130 $ cat > ../main/.hg/hgrc <<EOF |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
131 > [hooks] |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
132 > pretxnchangegroup = python:hgext.eol.checkheadshook |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
133 > EOF |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
134 $ hg push -f ../main |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
135 pushing to ../main |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
136 searching for changes |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
137 adding changesets |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
138 adding manifests |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
139 adding file changes |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
140 added 2 changesets with 2 changes to 2 files (+1 heads) |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
141 error: pretxnchangegroup hook failed: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
142 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
|
143 transaction abort! |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
144 rollback completed |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
145 abort: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
146 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
|
147 [255] |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
148 |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
149 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
|
150 |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
151 $ hg up 6 |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
152 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
|
153 $ printf "first\nsecond" > b.txt |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
154 $ 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
|
155 $ hg push -f ../main |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
156 pushing to ../main |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
157 searching for changes |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
158 adding changesets |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
159 adding manifests |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
160 adding file changes |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
161 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
|
162 $ hg -R ../main rollback |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
163 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
|
164 |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
165 Test it still fails with checkallhook |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
166 |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
167 $ cat > ../main/.hg/hgrc <<EOF |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
168 > [hooks] |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
169 > pretxnchangegroup = python:hgext.eol.checkallhook |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
170 > EOF |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
171 $ hg push -f ../main |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
172 pushing to ../main |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
173 searching for changes |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
174 adding changesets |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
175 adding manifests |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
176 adding file changes |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
177 added 3 changesets with 3 changes to 2 files (+1 heads) |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
178 error: pretxnchangegroup hook failed: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
179 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
|
180 transaction abort! |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
181 rollback completed |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
182 abort: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
183 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
|
184 [255] |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
185 |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
186 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
|
187 |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
188 $ hg push -r7 -f ../main |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
189 pushing to ../main |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
190 searching for changes |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
191 adding changesets |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
192 adding manifests |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
193 adding file changes |
9cb1a42cd4b3
eol: rename hook into checkheadshook, add checkallhook (issue2665)
Patrick Mezard <pmezard@gmail.com>
parents:
13616
diff
changeset
|
194 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
|
195 |
13649
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
196 Test multiple files/revisions output |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
197 |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
198 $ printf "another\r\nbad\r\none" > d.txt |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
199 $ hg add d.txt |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
200 $ hg ci -m "add d.txt" |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
201 $ hg push -f ../main |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
202 pushing to ../main |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
203 searching for changes |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
204 adding changesets |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
205 adding manifests |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
206 adding file changes |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
207 added 3 changesets with 3 changes to 2 files (+1 heads) |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
208 error: pretxnchangegroup hook failed: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
209 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
|
210 b.txt in fbcf9b1025f5 should not have CRLF line endings |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
211 transaction abort! |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
212 rollback completed |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
213 abort: end-of-line check failed: |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
214 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
|
215 b.txt in fbcf9b1025f5 should not have CRLF line endings |
328ce8a405ac
eol: improve hook failure output
Patrick Mezard <pmezard@gmail.com>
parents:
13617
diff
changeset
|
216 [255] |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15131
diff
changeset
|
217 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15131
diff
changeset
|
218 $ cd .. |