annotate tests/test-import-git.t @ 16506:fc4e0fecf403 stable

patch: fix patch hunk/metdata synchronization (issue3384) Git patches are parsed in two phases: 1) extract metadata, 2) parse actual deltas and merge them with the previous metadata. We do this to avoid dependency issues like "modify a; copy a to b", where "b" must be copied from the unmodified "a". Issue3384 is caused by flaky code I wrote to synchronize the patch metadata with the emitted hunk: if (gitpatches and (gitpatches[-1][0] == afile or gitpatches[-1][1] == bfile)): gp = gitpatches.pop()[2] With a patch like: diff --git a/a b/c copy from a copy to c --- a/a +++ b/c @@ -1,1 +1,2 @@ a +a @@ -2,1 +2,2 @@ a +a diff --git a/a b/a --- a/a +++ b/a @@ -1,1 +1,2 @@ a +b the first hunk of the first block is matched with the metadata for the block "diff --git a/a b/c", then the second hunk of the first block is matched with the metadata of the second block "diff --git a/a b/a", because of the "or" in the code paste above. Turning the "or" into an "and" is not enough as we have to deal with /dev/null cases for each file. We I remove this broken piece of code: # copy/rename + modify should modify target, not source if gp.op in ('COPY', 'DELETE', 'RENAME', 'ADD') or gp.mode: afile = bfile because "afile = bfile" set "afile" to stuff like "b/file" instead of "a/file", and because this only happens for git patches, which afile/bfile are ignored anyway by applydiff(). v2: - Avoid a traceback on git metadata desynchronization
author Patrick Mezard <patrick@mezard.eu>
date Sat, 21 Apr 2012 21:40:25 +0200
parents d7829b2ecf32
children a8065323c003
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15441
e0348815e806 tests: use 'hghave symlink' for tests using symlinks
Mads Kiilerich <mads@kiilerich.com>
parents: 14567
diff changeset
1 $ "$TESTDIR/hghave" symlink || exit 80
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
3 $ hg init
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
4
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
5 New file:
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
6
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
7 $ hg import -d "1000000 0" -mnew - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
8 > diff --git a/new b/new
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
9 > new file mode 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
10 > index 0000000..7898192
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
11 > --- /dev/null
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
12 > +++ b/new
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
13 > @@ -0,0 +1 @@
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
14 > +a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
15 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
16 applying patch from stdin
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
17
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
18 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
19 0:ae3ee40d2079
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
20
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
21 New empty file:
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
22
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
23 $ hg import -d "1000000 0" -mempty - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
24 > diff --git a/empty b/empty
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
25 > new file mode 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
26 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
27 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
28
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
29 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
30 1:ab199dc869b5
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
31
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
32 $ hg locate empty
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
33 empty
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
34
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
35 chmod +x:
3589
1c9b6f1237e0 test for git empty new files
Brendan Cully <brendan@kublai.com>
parents: 2864
diff changeset
36
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
37 $ hg import -d "1000000 0" -msetx - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
38 > diff --git a/new b/new
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
39 > old mode 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
40 > new mode 100755
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
41 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
42 applying patch from stdin
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
43
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
44 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
45 2:3a34410f282e
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
46
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
47 $ test -x new
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
48
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
49 Copy:
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
50
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
51 $ hg import -d "1000000 0" -mcopy - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
52 > diff --git a/new b/copy
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
53 > old mode 100755
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
54 > new mode 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
55 > similarity index 100%
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
56 > copy from new
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
57 > copy to copy
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
58 > diff --git a/new b/copyx
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
59 > similarity index 100%
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
60 > copy from new
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
61 > copy to copyx
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
62 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
63 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
64
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
65 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
66 3:37bacb7ca14d
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
67
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
68 $ if "$TESTDIR/hghave" -q execbit; then
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
69 > test -f copy -a ! -x copy || echo bad
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
70 > test -x copyx || echo bad
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
71 > else
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
72 > test -f copy || echo bad
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
73 > fi
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
74
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
75 $ cat copy
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
76 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
77
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
78 $ hg cat copy
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
79 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
80
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
81 Rename:
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
82
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
83 $ hg import -d "1000000 0" -mrename - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
84 > diff --git a/copy b/rename
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
85 > similarity index 100%
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
86 > rename from copy
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
87 > rename to rename
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
88 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
89 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
90
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
91 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
92 4:47b81a94361d
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
93
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
94 $ hg locate
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
95 copyx
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
96 empty
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
97 new
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
98 rename
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
99
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
100 Delete:
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
101
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
102 $ hg import -d "1000000 0" -mdelete - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
103 > diff --git a/copyx b/copyx
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
104 > deleted file mode 100755
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
105 > index 7898192..0000000
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
106 > --- a/copyx
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
107 > +++ /dev/null
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
108 > @@ -1 +0,0 @@
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
109 > -a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
110 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
111 applying patch from stdin
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
112
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
113 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
114 5:d9b001d98336
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
115
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
116 $ hg locate
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
117 empty
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
118 new
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
119 rename
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
120
12365
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
121 $ test -f copyx
22f3353bcc36 tests: cleanup exit code handling in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
122 [1]
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
123
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
124 Regular diff:
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
125
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
126 $ hg import -d "1000000 0" -mregular - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
127 > diff --git a/rename b/rename
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
128 > index 7898192..72e1fe3 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
129 > --- a/rename
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
130 > +++ b/rename
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
131 > @@ -1 +1,5 @@
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
132 > a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
133 > +a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
134 > +a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
135 > +a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
136 > +a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
137 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
138 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
139
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
140 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
141 6:ebe901e7576b
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
142
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
143 Copy and modify:
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
144
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
145 $ hg import -d "1000000 0" -mcopymod - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
146 > diff --git a/rename b/copy2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
147 > similarity index 80%
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
148 > copy from rename
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
149 > copy to copy2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
150 > index 72e1fe3..b53c148 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
151 > --- a/rename
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
152 > +++ b/copy2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
153 > @@ -1,5 +1,5 @@
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
154 > a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
155 > a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
156 > -a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
157 > +b
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
158 > a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
159 > a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
160 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
161 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
162
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
163 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
164 7:18f368958ecd
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
165
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
166 $ hg cat copy2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
167 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
168 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
169 b
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
170 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
171 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
172
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
173 Rename and modify:
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
174
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
175 $ hg import -d "1000000 0" -mrenamemod - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
176 > diff --git a/copy2 b/rename2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
177 > similarity index 80%
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
178 > rename from copy2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
179 > rename to rename2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
180 > index b53c148..8f81e29 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
181 > --- a/copy2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
182 > +++ b/rename2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
183 > @@ -1,5 +1,5 @@
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
184 > a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
185 > a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
186 > b
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
187 > -a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
188 > +c
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
189 > a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
190 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
191 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
192
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
193 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
194 8:c32b0d7e6f44
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
195
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
196 $ hg locate copy2
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12193
diff changeset
197 [1]
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
198 $ hg cat rename2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
199 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
200 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
201 b
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
202 c
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
203 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
204
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
205 One file renamed multiple times:
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
206
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
207 $ hg import -d "1000000 0" -mmultirenames - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
208 > diff --git a/rename2 b/rename3
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
209 > rename from rename2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
210 > rename to rename3
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
211 > diff --git a/rename2 b/rename3-2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
212 > rename from rename2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
213 > rename to rename3-2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
214 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
215 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
216
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
217 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
218 9:034a6bf95330
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
219
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
220 $ hg log -vr. --template '{rev} {files} / {file_copies}\n'
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
221 9 rename2 rename3 rename3-2 / rename3 (rename2)rename3-2 (rename2)
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
222
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
223 $ hg locate rename2 rename3 rename3-2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
224 rename3
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
225 rename3-2
2864
e2b69dbb2daa Tests for git import
Brendan Cully <brendan@kublai.com>
parents:
diff changeset
226
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
227 $ hg cat rename3
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
228 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
229 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
230 b
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
231 c
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
232 a
3701
05c8704a3743 handle git patches that rename a file to more than one destination
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3589
diff changeset
233
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
234 $ hg cat rename3-2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
235 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
236 a
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
237 b
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
238 c
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
239 a
3701
05c8704a3743 handle git patches that rename a file to more than one destination
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3589
diff changeset
240
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
241 $ echo foo > foo
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
242 $ hg add foo
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
243 $ hg ci -m 'add foo'
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
244
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
245 Binary files and regular patch hunks:
3716
ab5600428b08 handle files with both git binary patches and copy/rename ops
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3701
diff changeset
246
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
247 $ hg import -d "1000000 0" -m binaryregular - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
248 > diff --git a/binary b/binary
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
249 > new file mode 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
250 > index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
251 > GIT binary patch
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
252 > literal 4
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
253 > Lc\${NkU|;|M00aO5
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
254 >
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
255 > diff --git a/foo b/foo2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
256 > rename from foo
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
257 > rename to foo2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
258 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
259 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
260
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
261 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
262 11:c39bce63e786
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
263
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
264 $ cat foo2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
265 foo
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
266
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
267 $ hg manifest --debug | grep binary
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
268 045c85ba38952325e126c70962cc0f9d9077bc67 644 binary
3716
ab5600428b08 handle files with both git binary patches and copy/rename ops
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3701
diff changeset
269
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
270 Multiple binary files:
3717
9e248cfd8b94 handle files with more than one git binary patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3716
diff changeset
271
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
272 $ hg import -d "1000000 0" -m multibinary - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
273 > diff --git a/mbinary1 b/mbinary1
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
274 > new file mode 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
275 > index 0000000000000000000000000000000000000000..593f4708db84ac8fd0f5cc47c634f38c013fe9e4
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
276 > GIT binary patch
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
277 > literal 4
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
278 > Lc\${NkU|;|M00aO5
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
279 >
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
280 > diff --git a/mbinary2 b/mbinary2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
281 > new file mode 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
282 > index 0000000000000000000000000000000000000000..112363ac1917b417ffbd7f376ca786a1e5fa7490
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
283 > GIT binary patch
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
284 > literal 5
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
285 > Mc\${NkU|\`?^000jF3jhEB
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
286 >
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
287 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
288 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
289
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
290 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
291 12:30b530085242
3717
9e248cfd8b94 handle files with more than one git binary patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3716
diff changeset
292
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
293 $ hg manifest --debug | grep mbinary
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
294 045c85ba38952325e126c70962cc0f9d9077bc67 644 mbinary1
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
295 a874b471193996e7cb034bb301cac7bdaf3e3f46 644 mbinary2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
296
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
297 Filenames with spaces:
3717
9e248cfd8b94 handle files with more than one git binary patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3716
diff changeset
298
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
299 $ hg import -d "1000000 0" -m spaces - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
300 > diff --git a/foo bar b/foo bar
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
301 > new file mode 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
302 > index 0000000..257cc56
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
303 > --- /dev/null
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
304 > +++ b/foo bar
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
305 > @@ -0,0 +1 @@
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
306 > +foo
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
307 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
308 applying patch from stdin
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
309
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
310 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
311 13:04750ef42fb3
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
312
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
313 $ cat "foo bar"
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
314 foo
4679
826659bd8053 git patches: correct handling of filenames with spaces
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3736
diff changeset
315
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
316 Copy then modify the original file:
4679
826659bd8053 git patches: correct handling of filenames with spaces
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 3736
diff changeset
317
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
318 $ hg import -d "1000000 0" -m copy-mod-orig - <<EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
319 > diff --git a/foo2 b/foo2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
320 > index 257cc56..fe08ec6 100644
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
321 > --- a/foo2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
322 > +++ b/foo2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
323 > @@ -1 +1,2 @@
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
324 > foo
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
325 > +new line
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
326 > diff --git a/foo2 b/foo3
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
327 > similarity index 100%
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
328 > copy from foo2
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
329 > copy to foo3
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
330 > EOF
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
331 applying patch from stdin
5403
477136fa6571 Always copy the necessary files before applying a git patch
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents: 5073
diff changeset
332
12193
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
333 $ hg tip -q
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
334 14:c4cd9cdeaa74
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
335
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
336 $ cat foo3
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
337 foo
927e1a677267 tests: unify test-git-*
Adrian Buehlmann <adrian@cadifra.com>
parents: 10928
diff changeset
338
12577
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
339 Move text file and patch as binary
12574
77600d697d0e patch: fix rename text to binary file (issue2400)
Patrick Mezard <pmezard@gmail.com>
parents: 10928
diff changeset
340
12577
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
341 $ echo a > text2
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
342 $ hg ci -Am0
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
343 adding text2
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
344 $ hg import -d "1000000 0" -m rename-as-binary - <<"EOF"
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
345 > diff --git a/text2 b/binary2
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
346 > rename from text2
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
347 > rename to binary2
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
348 > index 78981922613b2afb6025042ff6bd878ac1994e85..10efcb362e9f3b3420fcfbfc0e37f3dc16e29757
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
349 > GIT binary patch
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
350 > literal 5
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
351 > Mc$`b*O5$Pw00T?_*Z=?k
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
352 >
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
353 > EOF
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
354 applying patch from stdin
12586
b96de59a2c39 tests: fix 05210e955bef merge error in test-git-import.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 12577
diff changeset
355
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12874
diff changeset
356 $ cat binary2
12577
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
357 a
05210e955bef Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12574 12365
diff changeset
358 b
12943
7439ea4146f8 tests: use (esc) instead of other kinds of string escaping
Mads Kiilerich <mads@kiilerich.com>
parents: 12874
diff changeset
359 \x00 (no-eol) (esc)
12586
b96de59a2c39 tests: fix 05210e955bef merge error in test-git-import.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 12577
diff changeset
360
b96de59a2c39 tests: fix 05210e955bef merge error in test-git-import.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 12577
diff changeset
361 $ hg st --copies --change .
b96de59a2c39 tests: fix 05210e955bef merge error in test-git-import.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 12577
diff changeset
362 A binary2
b96de59a2c39 tests: fix 05210e955bef merge error in test-git-import.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 12577
diff changeset
363 text2
b96de59a2c39 tests: fix 05210e955bef merge error in test-git-import.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 12577
diff changeset
364 R text2
12874
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
365 $ cd ..
12586
b96de59a2c39 tests: fix 05210e955bef merge error in test-git-import.t
Adrian Buehlmann <adrian@cadifra.com>
parents: 12577
diff changeset
366
12874
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
367 Consecutive import with renames (issue2459)
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
368
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
369 $ hg init issue2459
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
370 $ cd issue2459
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
371 $ hg import --no-commit --force - <<EOF
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
372 > diff --git a/a b/a
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
373 > new file mode 100644
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
374 > EOF
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
375 applying patch from stdin
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
376 $ hg import --no-commit --force - <<EOF
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
377 > diff --git a/a b/b
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
378 > rename from a
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
379 > rename to b
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
380 > EOF
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
381 applying patch from stdin
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
382 a has not been committed yet, so no copy data will be stored for b.
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
383 $ hg debugstate
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
384 a 0 -1 unset b
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
385 $ hg ci -m done
bb7bf43b72fb patch: fix copies when patching over uncommitted changed (issue2459)
Patrick Mezard <pmezard@gmail.com>
parents: 12586
diff changeset
386 $ cd ..
14385
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
387
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
388 Renames and strip
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
389
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
390 $ hg init renameandstrip
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
391 $ cd renameandstrip
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
392 $ echo a > a
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
393 $ hg ci -Am adda
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
394 adding a
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
395 $ hg import --no-commit -p2 - <<EOF
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
396 > diff --git a/foo/a b/foo/b
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
397 > rename from foo/a
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
398 > rename to foo/b
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
399 > EOF
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
400 applying patch from stdin
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
401 $ hg st --copies
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
402 A b
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
403 a
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
404 R a
16112
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
405
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
406 Renames, similarity and git diff
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
407
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
408 $ hg revert -aC
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
409 undeleting a
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
410 forgetting b
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
411 $ rm b
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
412 $ hg import --similarity 90 --no-commit - <<EOF
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
413 > diff --git a/a b/b
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
414 > rename from a
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
415 > rename to b
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
416 > EOF
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
417 applying patch from stdin
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
418 $ hg st --copies
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
419 A b
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
420 a
d7829b2ecf32 import: handle git renames and --similarity (issue3187)
Patrick Mezard <patrick@mezard.eu>
parents: 15441
diff changeset
421 R a
14385
7709cc983025 patch: git metadata was ignored if strip > 1
Patrick Mezard <pmezard@gmail.com>
parents: 12943
diff changeset
422 $ cd ..
14431
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
423
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
424 Pure copy with existing destination
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
425
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
426 $ hg init copytoexisting
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
427 $ cd copytoexisting
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
428 $ echo a > a
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
429 $ echo b > b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
430 $ hg ci -Am add
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
431 adding a
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
432 adding b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
433 $ hg import --no-commit - <<EOF
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
434 > diff --git a/a b/b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
435 > copy from a
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
436 > copy to b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
437 > EOF
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
438 applying patch from stdin
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
439 abort: cannot create b: destination already exists
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
440 [255]
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
441 $ cat b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
442 b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
443
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
444 Copy and changes with existing destination
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
445
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
446 $ hg import --no-commit - <<EOF
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
447 > diff --git a/a b/b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
448 > copy from a
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
449 > copy to b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
450 > --- a/a
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
451 > +++ b/b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
452 > @@ -1,1 +1,2 @@
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
453 > a
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
454 > +b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
455 > EOF
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
456 applying patch from stdin
14452
ee574cfd0c32 patch: use temporary files to handle intermediate copies
Patrick Mezard <pmezard@gmail.com>
parents: 14431
diff changeset
457 cannot create b: destination already exists
ee574cfd0c32 patch: use temporary files to handle intermediate copies
Patrick Mezard <pmezard@gmail.com>
parents: 14431
diff changeset
458 1 out of 1 hunks FAILED -- saving rejects to file b.rej
ee574cfd0c32 patch: use temporary files to handle intermediate copies
Patrick Mezard <pmezard@gmail.com>
parents: 14431
diff changeset
459 abort: patch failed to apply
14431
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
460 [255]
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
461 $ cat b
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
462 b
14535
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
463
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
464 $ ln -s b linkb
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
465 $ hg add linkb
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
466 $ hg ci -m addlinkb
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
467 $ hg import --no-commit - <<EOF
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
468 > diff --git a/linkb b/linkb
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
469 > deleted file mode 120000
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
470 > --- a/linkb
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
471 > +++ /dev/null
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
472 > @@ -1,1 +0,0 @@
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
473 > -badhunk
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
474 > \ No newline at end of file
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
475 > EOF
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
476 applying patch from stdin
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
477 patching file linkb
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
478 Hunk #1 FAILED at 0
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
479 1 out of 1 hunks FAILED -- saving rejects to file linkb.rej
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
480 abort: patch failed to apply
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
481 [255]
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
482 $ hg st
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
483 ? b.rej
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
484 ? linkb.rej
e597ef52a7c2 patch: dot not ignore hunk of files marked as 'deleted'
Patrick Mezard <pmezard@gmail.com>
parents: 14452
diff changeset
485
16506
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
486 Test corner case involving copies and multiple hunks (issue3384)
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
487
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
488 $ hg revert -qa
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
489 $ hg import --no-commit - <<EOF
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
490 > diff --git a/a b/c
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
491 > copy from a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
492 > copy to c
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
493 > --- a/a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
494 > +++ b/c
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
495 > @@ -1,1 +1,2 @@
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
496 > a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
497 > +a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
498 > @@ -2,1 +2,2 @@
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
499 > a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
500 > +a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
501 > diff --git a/a b/a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
502 > --- a/a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
503 > +++ b/a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
504 > @@ -1,1 +1,2 @@
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
505 > a
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
506 > +b
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
507 > EOF
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
508 applying patch from stdin
fc4e0fecf403 patch: fix patch hunk/metdata synchronization (issue3384)
Patrick Mezard <patrick@mezard.eu>
parents: 16112
diff changeset
509
14431
a6b543e05305 test-git-import: test patching existing copy targets
Patrick Mezard <pmezard@gmail.com>
parents: 14385
diff changeset
510 $ cd ..