Mercurial > hg
comparison tests/test-mq-qimport.t @ 12464:3177e3a7b14f
tests: unify test-mq-qimport
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 26 Sep 2010 13:43:21 -0500 |
parents | tests/test-mq-qimport@84fb29f5e0d2 |
children | bb35840e965c |
comparison
equal
deleted
inserted
replaced
12463:9f551ca3bb44 | 12464:3177e3a7b14f |
---|---|
1 | |
2 $ cat > writelines.py <<EOF | |
3 > import sys | |
4 > path = sys.argv[1] | |
5 > args = sys.argv[2:] | |
6 > assert (len(args) % 2) == 0 | |
7 > | |
8 > f = file(path, 'wb') | |
9 > for i in xrange(len(args)/2): | |
10 > count, s = args[2*i:2*i+2] | |
11 > count = int(count) | |
12 > s = s.decode('string_escape') | |
13 > f.write(s*count) | |
14 > f.close() | |
15 > | |
16 > EOF | |
17 $ echo "[extensions]" >> $HGRCPATH | |
18 $ echo "mq=" >> $HGRCPATH | |
19 $ echo "[diff]" >> $HGRCPATH | |
20 $ echo "git=1" >> $HGRCPATH | |
21 $ hg init repo | |
22 $ cd repo | |
23 | |
24 qimport non-existing-file | |
25 | |
26 $ hg qimport non-existing-file | |
27 abort: unable to read file non-existing-file | |
28 [255] | |
29 | |
30 import email | |
31 | |
32 $ hg qimport --push -n email - <<EOF | |
33 > From: Username in email <test@example.net> | |
34 > Subject: [PATCH] Message in email | |
35 > Date: Fri, 02 Jan 1970 00:00:00 +0000 | |
36 > | |
37 > Text before patch. | |
38 > | |
39 > # HG changeset patch | |
40 > # User Username in patch <test@example.net> | |
41 > # Date 0 0 | |
42 > # Node ID 1a706973a7d84cb549823634a821d9bdf21c6220 | |
43 > # Parent 0000000000000000000000000000000000000000 | |
44 > First line of commit message. | |
45 > | |
46 > More text in commit message. | |
47 > --- confuse the diff detection | |
48 > | |
49 > diff --git a/x b/x | |
50 > new file mode 100644 | |
51 > --- /dev/null | |
52 > +++ b/x | |
53 > @@ -0,0 +1,1 @@ | |
54 > +new file | |
55 > Text after patch. | |
56 > | |
57 > EOF | |
58 adding email to series file | |
59 applying email | |
60 now at: email | |
61 | |
62 hg tip -v | |
63 | |
64 $ hg tip -v | |
65 changeset: 0:1a706973a7d8 | |
66 tag: email | |
67 tag: qbase | |
68 tag: qtip | |
69 tag: tip | |
70 user: Username in patch <test@example.net> | |
71 date: Thu Jan 01 00:00:00 1970 +0000 | |
72 files: x | |
73 description: | |
74 First line of commit message. | |
75 | |
76 More text in commit message. | |
77 | |
78 | |
79 $ hg qpop | |
80 popping email | |
81 patch queue now empty | |
82 $ hg qdelete email | |
83 | |
84 import URL | |
85 | |
86 $ echo foo >> foo | |
87 $ hg add foo | |
88 $ hg diff > $HGTMP/url.diff | |
89 $ hg revert --no-backup foo | |
90 $ rm foo | |
91 | |
92 Under unix: file:///foobar/blah | |
93 Under windows: file:///c:/foobar/blah | |
94 | |
95 $ patchurl=`echo "$HGTMP"/url.diff | tr '\\\\' /` | |
96 $ expr "$patchurl" : "\/" > /dev/null || patchurl="/$patchurl" | |
97 $ hg qimport file://"$patchurl" | |
98 adding url.diff to series file | |
99 $ hg qun | |
100 url.diff | |
101 | |
102 import patch that already exists | |
103 | |
104 $ echo foo2 >> foo | |
105 $ hg add foo | |
106 $ hg diff > ../url.diff | |
107 $ hg revert --no-backup foo | |
108 $ rm foo | |
109 $ hg qimport ../url.diff | |
110 abort: patch "url.diff" already exists | |
111 [255] | |
112 $ hg qpush | |
113 applying url.diff | |
114 now at: url.diff | |
115 $ cat foo | |
116 foo | |
117 $ hg qpop | |
118 popping url.diff | |
119 patch queue now empty | |
120 | |
121 qimport -f | |
122 | |
123 $ hg qimport -f ../url.diff | |
124 adding url.diff to series file | |
125 $ hg qpush | |
126 applying url.diff | |
127 now at: url.diff | |
128 $ cat foo | |
129 foo2 | |
130 $ hg qpop | |
131 popping url.diff | |
132 patch queue now empty | |
133 | |
134 build diff with CRLF | |
135 | |
136 $ python ../writelines.py b 5 'a\n' 5 'a\r\n' | |
137 $ hg ci -Am addb | |
138 adding b | |
139 $ python ../writelines.py b 2 'a\n' 10 'b\n' 2 'a\r\n' | |
140 $ hg diff > b.diff | |
141 $ hg up -C | |
142 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
143 | |
144 qimport CRLF diff | |
145 | |
146 $ hg qimport b.diff | |
147 adding b.diff to series file | |
148 $ hg qpush | |
149 applying b.diff | |
150 now at: b.diff | |
151 | |
152 try to import --push | |
153 | |
154 $ echo another >> b | |
155 $ hg diff > another.diff | |
156 $ hg up -C | |
157 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
158 $ hg qimport --push another.diff | |
159 adding another.diff to series file | |
160 applying another.diff | |
161 now at: another.diff | |
162 $ hg qfin -a | |
163 patch b.diff finalized without changeset message | |
164 patch another.diff finalized without changeset message | |
165 $ hg qimport -rtip -P | |
166 $ hg qpop -a | |
167 popping 2.diff | |
168 patch queue now empty | |
169 $ hg qdel -k 2.diff | |
170 | |
171 qimport -e | |
172 | |
173 $ hg qimport -e 2.diff | |
174 adding 2.diff to series file | |
175 $ hg qdel -k 2.diff | |
176 | |
177 qimport -e --name newname oldexisitingpatch | |
178 | |
179 $ hg qimport -e --name this-name-is-better 2.diff | |
180 renaming 2.diff to this-name-is-better | |
181 adding this-name-is-better to series file | |
182 $ hg qser | |
183 this-name-is-better | |
184 url.diff | |
185 | |
186 qimport -e --name without --force | |
187 | |
188 $ cp .hg/patches/this-name-is-better .hg/patches/3.diff | |
189 $ hg qimport -e --name this-name-is-better 3.diff | |
190 abort: patch "this-name-is-better" already exists | |
191 [255] | |
192 $ hg qser | |
193 this-name-is-better | |
194 url.diff | |
195 | |
196 qimport -e --name with --force | |
197 | |
198 $ hg qimport --force -e --name this-name-is-better 3.diff | |
199 renaming 3.diff to this-name-is-better | |
200 adding this-name-is-better to series file | |
201 $ hg qser | |
202 this-name-is-better | |
203 url.diff |