Mercurial > hg
annotate tests/test-casecollision.t @ 41163:0101a35deae2
phabricator: warn if unable to amend, instead of aborting after posting
There was a divergence in behavior here between obsolete and strip based
amending. I first noticed the abort when testing outside of the test harness,
but then had trouble recreating it here after reverting the code changes. It
turns out, strip based amend was successfully amending the public commit after
it was posted! It looks like the protection is in the `commit --amend` command,
not in the underlying code that it calls.
I considered doing a preflight check and aborting. But the locks are only
acquired at the end, if amending, and this is too large a section of code to be
wrapped in a maybe-it's-held-or-not context manager for my tastes.
Additionally, some people do post-push reviews, and amending is the default
behavior, so they shouldn't see a misleading error message.
The lack of a 'Differential Revision' entry in the commit message breaks a
{phabreview} test, so it had to be partially conditionalized.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 05 Jan 2019 15:20:33 -0500 |
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 .. |