annotate tests/test-casecollision.t @ 42193:14589f1989e9 stable

context: check file exists before getting data from _wrappedctx overlayworkingctx class is used to do in-memory merging. The data() function of that class has logic to look for data() in the wrappedctx if the file data in cache is empty and if the file is dirty. This assumes that if a file is dirty and cache has empty data for it, it will exists in the _wrappedctx. However this assumption can be False in case when we are merging a file which is empty in destination. In these cases, the backup file 'foo.orig' created by our internal merge algorithms will be empty, however it won't be present in _wrappedctx. This case will lead us to error like the one this patch is fixing. Let's only fallback to getting data from wrappedctx if cache has 'None' as data. Differential Revision: https://phab.mercurial-scm.org/D6308
author Pulkit Goyal <pulkit@yandex-team.ru>
date Wed, 24 Apr 2019 19:42:43 +0300
parents 7a9cbb315d84
children 0b8e076e878c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 ..