Mercurial > hg-stable
annotate tests/test-hgcia.t @ 25877:85785cd3b69f stable
dirstate: ensure mv source is marked deleted when walking icasefs (issue4760)
Previously, importing a case-only rename patch on a case insensitive filesystem
caused the original file to be marked as '!' in status. The source was being
forgotten properly in patch.workingbackend.close(), but the call it makes to
scmutil.marktouched() then put the file back into the 'n' state (but it was
still missing from the filesystem).
The cause of this was scmutil._interestingfiles() would walk dirstate,
and since dirstate was able to lstat() the old file via the new name,
was treating this as a forgotten file, not a removed file.
scmutil.marktouched() re-adds forgotten files, so dirstate got out of
sync with the filesystem.
This could be handled with less code in the "kind == regkind or kind
== lnkkind" branch of dirstate._walkexplicit(), but this avoids
filesystem accesses unless case collisions occur. _discoverpath() is
used instead of normalize(), since the dirstate case is given first
precedence, and the old file is still in it. What matters is the
actual case in the filesystem.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 27 Jul 2015 21:27:24 -0400 |
parents | f2719b387380 |
children |
rev | line source |
---|---|
12429 | 1 Test the CIA extension |
7438 | 2 |
12429 | 3 $ cat >> $HGRCPATH <<EOF |
4 > [extensions] | |
5 > hgcia= | |
6 > | |
7 > [hooks] | |
8 > changegroup.cia = python:hgext.hgcia.hook | |
9 > | |
14314
c322890b03e6
hgcia: Handle URL like in notify (issue2406)
Cédric Krier <ced@b2ck.com>
parents:
12429
diff
changeset
|
10 > [web] |
c322890b03e6
hgcia: Handle URL like in notify (issue2406)
Cédric Krier <ced@b2ck.com>
parents:
12429
diff
changeset
|
11 > baseurl = http://hgserver/ |
c322890b03e6
hgcia: Handle URL like in notify (issue2406)
Cédric Krier <ced@b2ck.com>
parents:
12429
diff
changeset
|
12 > |
12429 | 13 > [cia] |
14 > user = testuser | |
15 > project = testproject | |
16 > test = True | |
17 > EOF | |
7438 | 18 |
12429 | 19 $ hg init src |
20 $ hg init cia | |
21 $ cd src | |
22 $ echo foo > foo | |
23 $ hg ci -Amfoo | |
24 adding foo | |
25 $ hg push ../cia | |
26 pushing to ../cia | |
27 searching for changes | |
28 adding changesets | |
29 adding manifests | |
30 adding file changes | |
31 added 1 changesets with 1 changes to 1 files | |
32 | |
33 <message> | |
34 <generator> | |
35 <name>Mercurial (hgcia)</name> | |
36 <version>0.1</version> | |
37 <url>http://hg.kublai.com/mercurial/hgcia</url> | |
38 <user>testuser</user> | |
39 </generator> | |
40 <source> | |
41 <project>testproject</project> | |
42 <branch>default</branch> | |
43 </source> | |
44 <body> | |
45 <commit> | |
46 <author>test</author> | |
47 <version>0:e63c23eaa88a</version> | |
48 <log>foo</log> | |
14850
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
49 <url>http://hgserver/rev/e63c23eaa88a</url> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
50 <files><file uri="http://hgserver/file/e63c23eaa88a/foo" action="add">foo</file></files> |
12429 | 51 </commit> |
52 </body> | |
53 <timestamp>0</timestamp> | |
54 </message> | |
14850
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
55 |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
56 $ cat >> $HGRCPATH <<EOF |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
57 > strip = 0 |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
58 > EOF |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
59 |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
60 $ echo bar > bar |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
61 $ hg ci -Ambar |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
62 adding bar |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
63 $ hg push ../cia |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
64 pushing to ../cia |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
65 searching for changes |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
66 adding changesets |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
67 adding manifests |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
68 adding file changes |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
69 added 1 changesets with 1 changes to 1 files |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
70 |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
71 <message> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
72 <generator> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
73 <name>Mercurial (hgcia)</name> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
74 <version>0.1</version> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
75 <url>http://hg.kublai.com/mercurial/hgcia</url> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
76 <user>testuser</user> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
77 </generator> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
78 <source> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
79 <project>testproject</project> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
80 <branch>default</branch> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
81 </source> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
82 <body> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
83 <commit> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
84 <author>test</author> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
85 <version>1:c0c7cf58edc5</version> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
86 <log>bar</log> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
87 <url>http://hgserver/$TESTTMP/cia/rev/c0c7cf58edc5</url> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
88 <files><file uri="http://hgserver/$TESTTMP/cia/file/c0c7cf58edc5/bar" action="add">bar</file></files> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
89 </commit> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
90 </body> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
91 <timestamp>0</timestamp> |
a95242af945c
hgcia: Set default value of strip to -1 (issue2891)
Cédric Krier <ced@b2ck.com>
parents:
14314
diff
changeset
|
92 </message> |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
14850
diff
changeset
|
93 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
14850
diff
changeset
|
94 $ cd .. |