Mercurial > hg
annotate tests/test-casecollision.t @ 46758:7f6c002d7c0a
split: close transaction in the unlikely event of a conflict while rebasing
`hg split` *should* never result in conflicts, but in case there are
bugs, we should at least commit the transaction so they can continue
the rebase. One of our users ran into the regression fixed by
D10120. They fixed the conflict and the tried to continue the rebase,
but it failed with "abort: cannot continue inconsistent rebase"
because the rebase state referred to commits written in a transaction
that was never committed.
Side note: `hg split` should probably turn off copy tracing to reduce
the impact of such bugs, and to speed it up as well. Copies made in
the rebased commits should still be respected because `hg rebase`
calls `copies.graftcopies()`.
Differential Revision: https://phab.mercurial-scm.org/D10164
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 12 Mar 2021 09:15:40 -0800 |
parents | 7a9cbb315d84 |
children | 0b8e076e878c |
rev | line source |
---|---|
22046
7a9cbb315d84
tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents:
17096
diff
changeset
|
1 #require no-icasefs |
14068
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
2 |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
3 test file addition with colliding case |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
4 |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
5 $ hg init repo1 |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
6 $ cd repo1 |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
7 $ echo a > a |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
8 $ echo A > A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
9 $ hg add a |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
10 $ hg st |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
11 A a |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
12 ? A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
13 $ hg add --config ui.portablefilenames=abort A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
14 abort: possible case-folding collision for A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
15 [255] |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
16 $ hg st |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
17 A a |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
18 ? A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
19 $ hg add A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
20 warning: possible case-folding collision for A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
21 $ hg st |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
22 A A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
23 A a |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
24 $ hg forget A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
25 $ hg st |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
26 A a |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
27 ? A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
28 $ hg add --config ui.portablefilenames=no A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
29 $ hg st |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
30 A A |
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
31 A a |
17096
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
32 $ mkdir b |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
33 $ touch b/c b/D |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
34 $ hg add b |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
35 adding b/D |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
36 adding b/c |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
37 $ touch b/d b/C |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
38 $ hg add b/C |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
39 warning: possible case-folding collision for b/C |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
40 $ hg add b/d |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
41 warning: possible case-folding collision for b/d |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
42 $ touch b/a1 b/a2 |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
43 $ hg add b |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
44 adding b/a1 |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
45 adding b/a2 |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
46 $ touch b/A2 b/a1.1 |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
47 $ hg add b/a1.1 b/A2 |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
48 warning: possible case-folding collision for b/A2 |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
49 $ touch b/f b/F |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
50 $ hg add b/f b/F |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
51 warning: possible case-folding collision for b/f |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
52 $ touch g G |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
53 $ hg add g G |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
54 warning: possible case-folding collision for g |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
55 $ mkdir h H |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
56 $ touch h/x H/x |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
57 $ hg add h/x H/x |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
58 warning: possible case-folding collision for h/x |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
59 $ touch h/s H/s |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
60 $ hg add h/s |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
61 $ hg add H/s |
14e44933d175
casecollision: add tests
Joshua Redstone <joshua.redstone@fb.com>
parents:
14178
diff
changeset
|
62 warning: possible case-folding collision for H/s |
14178
524c560e2d32
test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents:
14068
diff
changeset
|
63 |
524c560e2d32
test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents:
14068
diff
changeset
|
64 case changing rename must not warn or abort |
524c560e2d32
test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents:
14068
diff
changeset
|
65 |
524c560e2d32
test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents:
14068
diff
changeset
|
66 $ echo c > c |
524c560e2d32
test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents:
14068
diff
changeset
|
67 $ hg ci -qAmx |
524c560e2d32
test-casecollision.t: add test for case changing rename
Adrian Buehlmann <adrian@cadifra.com>
parents:
14068
diff
changeset
|
68 $ hg mv c C |
14068
04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
Kevin Gessner <kevin@kevingessner.com>
parents:
diff
changeset
|
69 $ cd .. |