Merge branch 'je/cvsserver'
[git] / t / t5100 / sample.mbox
1     
2         
3     
4 From nobody Mon Sep 17 00:00:00 2001
5 From: A U Thor <a.u.thor@example.com>
6 Date: Fri, 9 Jun 2006 00:44:16 -0700
7 Subject: [PATCH] a commit.
8
9 Here is a patch from A U Thor.
10
11 ---
12  foo |    2 +-
13  1 files changed, 1 insertions(+), 1 deletions(-)
14
15 diff --git a/foo b/foo
16 index 9123cdc..918dcf8 100644
17 --- a/foo
18 +++ b/foo
19 @@ -1 +1 @@
20 -Fri Jun  9 00:44:04 PDT 2006
21 +Fri Jun  9 00:44:13 PDT 2006
22 -- 
23 1.4.0.g6f2b
24
25 From nobody Mon Sep 17 00:00:00 2001
26 From: A U Thor <a.u.thor@example.com>
27 Date: Fri, 9 Jun 2006 00:44:16 -0700
28 Subject: [PATCH] another patch
29
30 Here is a patch from A U Thor.  This addresses the issue raised in the
31 message:
32
33 From: Nit Picker <nit.picker@example.net>
34 Subject: foo is too old
35 Message-Id: <nitpicker.12121212@example.net>
36
37 Hopefully this would fix the problem stated there.
38
39
40 I have included an extra blank line above, but it does not have to be
41 stripped away here, along with the                                 
42 whitespaces at the end of the above line.  They are expected to be squashed
43 when the message is made into a commit log by stripspace,
44 Also, there are three blank lines after this paragraph,
45 two truly blank and another full of spaces in between.
46
47             
48
49 Hope this helps.
50
51 ---
52  foo |    2 +-
53  1 files changed, 1 insertions(+), 1 deletions(-)
54
55 diff --git a/foo b/foo
56 index 9123cdc..918dcf8 100644
57 --- a/foo
58 +++ b/foo
59 @@ -1 +1 @@
60 -Fri Jun  9 00:44:04 PDT 2006
61 +Fri Jun  9 00:44:13 PDT 2006
62 -- 
63 1.4.0.g6f2b
64
65 From nobody Mon Sep 17 00:00:00 2001
66 From: Junio C Hamano <junio@kernel.org>
67 Date: Fri, 9 Jun 2006 00:44:16 -0700
68 Subject: re: [PATCH] another patch
69
70 From: A U Thor <a.u.thor@example.com>
71 Subject: [PATCH] third patch
72
73 Here is a patch from A U Thor.  This addresses the issue raised in the
74 message:
75
76 From: Nit Picker <nit.picker@example.net>
77 Subject: foo is too old
78 Message-Id: <nitpicker.12121212@example.net>
79
80 Hopefully this would fix the problem stated there.
81
82 ---
83  foo |    2 +-
84  1 files changed, 1 insertions(+), 1 deletions(-)
85
86 diff --git a/foo b/foo
87 index 9123cdc..918dcf8 100644
88 --- a/foo
89 +++ b/foo
90 @@ -1 +1 @@
91 -Fri Jun  9 00:44:04 PDT 2006
92 +Fri Jun  9 00:44:13 PDT 2006
93 -- 
94 1.4.0.g6f2b
95
96 From nobody Sat Aug 27 23:07:49 2005
97 Path: news.gmane.org!not-for-mail
98 Message-ID: <20050721.091036.01119516.yoshfuji@linux-ipv6.org>
99 From: YOSHIFUJI Hideaki / =?iso-2022-jp?B?GyRCNUhGIzFRTEAbKEI=?= 
100         <yoshfuji@linux-ipv6.org>
101 Newsgroups: gmane.comp.version-control.git
102 Subject: [PATCH 1/2] GIT: Try all addresses for given remote name
103 Date: Thu, 21 Jul 2005 09:10:36 -0400 (EDT)
104 Lines: 99
105 Organization: USAGI/WIDE Project
106 Approved: news@gmane.org
107 NNTP-Posting-Host: main.gmane.org
108 Mime-Version: 1.0
109 Content-Type: Text/Plain; charset=us-ascii
110 Content-Transfer-Encoding: 7bit
111 X-Trace: sea.gmane.org 1121951434 29350 80.91.229.2 (21 Jul 2005 13:10:34 GMT)
112 X-Complaints-To: usenet@sea.gmane.org
113 NNTP-Posting-Date: Thu, 21 Jul 2005 13:10:34 +0000 (UTC)
114
115 Hello.
116
117 Try all addresses for given remote name until it succeeds.
118 Also supports IPv6.
119
120 Signed-of-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
121
122 diff --git a/connect.c b/connect.c
123 --- a/connect.c
124 +++ b/connect.c
125 @@ -96,42 +96,57 @@ static enum protocol get_protocol(const 
126         die("I don't handle protocol '%s'", name);
127  }
128  
129 -static void lookup_host(const char *host, struct sockaddr *in)
130 -{
131 -       struct addrinfo *res;
132 -       int ret;
133 -
134 -       ret = getaddrinfo(host, NULL, NULL, &res);
135 -       if (ret)
136 -               die("Unable to look up %s (%s)", host, gai_strerror(ret));
137 -       *in = *res->ai_addr;
138 -       freeaddrinfo(res);
139 -}
140 +#define STR_(s)        # s
141 +#define STR(s) STR_(s)
142  
143  static int git_tcp_connect(int fd[2], const char *prog, char *host, char *path)
144  {
145 -       struct sockaddr addr;
146 -       int port = DEFAULT_GIT_PORT, sockfd;
147 -       char *colon;
148 -
149 -       colon = strchr(host, ':');
150 -       if (colon) {
151 -               char *end;
152 -               unsigned long n = strtoul(colon+1, &end, 0);
153 -               if (colon[1] && !*end) {
154 -                       *colon = 0;
155 -                       port = n;
156 +       int sockfd = -1;
157 +       char *colon, *end;
158 +       char *port = STR(DEFAULT_GIT_PORT);
159 +       struct addrinfo hints, *ai0, *ai;
160 +       int gai;
161 +
162 +       if (host[0] == '[') {
163 +               end = strchr(host + 1, ']');
164 +               if (end) {
165 +                       *end = 0;
166 +                       end++;
167 +                       host++;
168 +               } else
169 +                       end = host;
170 +       } else
171 +               end = host;
172 +       colon = strchr(end, ':');
173 +
174 +       if (colon)
175 +               port = colon + 1;
176 +
177 +       memset(&hints, 0, sizeof(hints));
178 +       hints.ai_socktype = SOCK_STREAM;
179 +       hints.ai_protocol = IPPROTO_TCP;
180 +
181 +       gai = getaddrinfo(host, port, &hints, &ai);
182 +       if (gai)
183 +               die("Unable to look up %s (%s)", host, gai_strerror(gai));
184 +
185 +       for (ai0 = ai; ai; ai = ai->ai_next) {
186 +               sockfd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
187 +               if (sockfd < 0)
188 +                       continue;
189 +               if (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0) {
190 +                       close(sockfd);
191 +                       sockfd = -1;
192 +                       continue;
193                 }
194 +               break;
195         }
196  
197 -       lookup_host(host, &addr);
198 -       ((struct sockaddr_in *)&addr)->sin_port = htons(port);
199 +       freeaddrinfo(ai0);
200  
201 -       sockfd = socket(PF_INET, SOCK_STREAM, IPPROTO_IP);
202         if (sockfd < 0)
203                 die("unable to create socket (%s)", strerror(errno));
204 -       if (connect(sockfd, (void *)&addr, sizeof(addr)) < 0)
205 -               die("unable to connect (%s)", strerror(errno));
206 +
207         fd[0] = sockfd;
208         fd[1] = sockfd;
209         packet_write(sockfd, "%s %s\n", prog, path);
210
211 -- 
212 YOSHIFUJI Hideaki @ USAGI Project  <yoshfuji@linux-ipv6.org>
213 GPG-FP  : 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA
214
215 From nobody Sat Aug 27 23:07:49 2005
216 Path: news.gmane.org!not-for-mail
217 Message-ID: <u5tacjjdpxq.fsf@lysator.liu.se>
218 From: =?iso-8859-1?Q?David_K=E5gedal?= <davidk@lysator.liu.se>
219 Newsgroups: gmane.comp.version-control.git
220 Subject: [PATCH] Fixed two bugs in git-cvsimport-script.
221 Date: Mon, 15 Aug 2005 20:18:25 +0200
222 Lines: 83
223 Approved: news@gmane.org
224 NNTP-Posting-Host: main.gmane.org
225 Mime-Version: 1.0
226 Content-Type: text/plain; charset=iso-8859-1
227 Content-Transfer-Encoding: QUOTED-PRINTABLE
228 X-Trace: sea.gmane.org 1124130247 31839 80.91.229.2 (15 Aug 2005 18:24:07 GMT)
229 X-Complaints-To: usenet@sea.gmane.org
230 NNTP-Posting-Date: Mon, 15 Aug 2005 18:24:07 +0000 (UTC)
231 Cc: "Junio C. Hamano" <junkio@cox.net>
232 Original-X-From: git-owner@vger.kernel.org Mon Aug 15 20:24:05 2005
233
234 The git-cvsimport-script had a copule of small bugs that prevented me
235 from importing a big CVS repository.
236
237 The first was that it didn't handle removed files with a multi-digit
238 primary revision number.
239
240 The second was that it was asking the CVS server for "F" messages,
241 although they were not handled.
242
243 I also updated the documentation for that script to correspond to
244 actual flags.
245
246 Signed-off-by: David K=E5gedal <davidk@lysator.liu.se>
247 ---
248
249  Documentation/git-cvsimport-script.txt |    9 ++++++++-
250  git-cvsimport-script                   |    4 ++--
251  2 files changed, 10 insertions(+), 3 deletions(-)
252
253 50452f9c0c2df1f04d83a26266ba704b13861632
254 diff --git a/Documentation/git-cvsimport-script.txt b/Documentation/git=
255 -cvsimport-script.txt
256 --- a/Documentation/git-cvsimport-script.txt
257 +++ b/Documentation/git-cvsimport-script.txt
258 @@ -29,6 +29,10 @@ OPTIONS
259         currently, only the :local:, :ext: and :pserver: access methods=20
260         are supported.
261 =20
262 +-C <target-dir>::
263 +        The GIT repository to import to.  If the directory doesn't
264 +        exist, it will be created.  Default is the current directory.
265 +
266  -i::
267         Import-only: don't perform a checkout after importing.  This option
268         ensures the working directory and cache remain untouched and will
269 @@ -44,7 +48,7 @@ OPTIONS
270 =20
271  -p <options-for-cvsps>::
272         Additional options for cvsps.
273 -       The options '-x' and '-A' are implicit and should not be used here.
274 +       The options '-u' and '-A' are implicit and should not be used here.
275 =20
276         If you need to pass multiple options, separate them with a comma.
277 =20
278 @@ -57,6 +61,9 @@ OPTIONS
279  -h::
280         Print a short usage message and exit.
281 =20
282 +-z <fuzz>::
283 +        Pass the timestamp fuzz factor to cvsps.
284 +
285  OUTPUT
286  ------
287  If '-v' is specified, the script reports what it is doing.
288 diff --git a/git-cvsimport-script b/git-cvsimport-script
289 --- a/git-cvsimport-script
290 +++ b/git-cvsimport-script
291 @@ -190,7 +190,7 @@ sub conn {
292         $self->{'socketo'}->write("Root $repo\n");
293 =20
294         # Trial and error says that this probably is the minimum set
295 -       $self->{'socketo'}->write("Valid-responses ok error Valid-requests Mo=
296 de M Mbinary E F Checked-in Created Updated Merged Removed\n");
297 +       $self->{'socketo'}->write("Valid-responses ok error Valid-requests Mo=
298 de M Mbinary E Checked-in Created Updated Merged Removed\n");
299 =20
300         $self->{'socketo'}->write("valid-requests\n");
301         $self->{'socketo'}->flush();
302 @@ -691,7 +691,7 @@ while(<CVS>) {
303                 unlink($tmpname);
304                 my $mode =3D pmode($cvs->{'mode'});
305                 push(@new,[$mode, $sha, $fn]); # may be resurrected!
306 -       } elsif($state =3D=3D 9 and /^\s+(\S+):\d(?:\.\d+)+->(\d(?:\.\d+)+)\(=
307 DEAD\)\s*$/) {
308 +       } elsif($state =3D=3D 9 and /^\s+(\S+):\d+(?:\.\d+)+->(\d+(?:\.\d+)+)=
309 \(DEAD\)\s*$/) {
310                 my $fn =3D $1;
311                 $fn =3D~ s#^/+##;
312                 push(@old,$fn);
313
314 --=20
315 David K=E5gedal
316 -
317 To unsubscribe from this list: send the line "unsubscribe git" in
318 the body of a message to majordomo@vger.kernel.org
319 More majordomo info at  http://vger.kernel.org/majordomo-info.html
320
321 From nobody Mon Sep 17 00:00:00 2001
322 From: A U Thor <a.u.thor@example.com>
323 References: <Pine.LNX.4.640.0001@woody.linux-foundation.org>
324  <Pine.LNX.4.640.0002@woody.linux-foundation.org>
325  <Pine.LNX.4.640.0003@woody.linux-foundation.org>
326  <Pine.LNX.4.640.0004@woody.linux-foundation.org>
327  <Pine.LNX.4.640.0005@woody.linux-foundation.org>
328  <Pine.LNX.4.640.0006@woody.linux-foundation.org>
329  <Pine.LNX.4.640.0007@woody.linux-foundation.org>
330  <Pine.LNX.4.640.0008@woody.linux-foundation.org>
331  <Pine.LNX.4.640.0009@woody.linux-foundation.org>
332  <Pine.LNX.4.640.0010@woody.linux-foundation.org>
333  <Pine.LNX.4.640.0011@woody.linux-foundation.org>
334  <Pine.LNX.4.640.0012@woody.linux-foundation.org>
335  <Pine.LNX.4.640.0013@woody.linux-foundation.org>
336  <Pine.LNX.4.640.0014@woody.linux-foundation.org>
337  <Pine.LNX.4.640.0015@woody.linux-foundation.org>
338  <Pine.LNX.4.640.0016@woody.linux-foundation.org>
339  <Pine.LNX.4.640.0017@woody.linux-foundation.org>
340  <Pine.LNX.4.640.0018@woody.linux-foundation.org>
341  <Pine.LNX.4.640.0019@woody.linux-foundation.org>
342  <Pine.LNX.4.640.0020@woody.linux-foundation.org>
343  <Pine.LNX.4.640.0021@woody.linux-foundation.org>
344  <Pine.LNX.4.640.0022@woody.linux-foundation.org>
345  <Pine.LNX.4.640.0023@woody.linux-foundation.org>
346  <Pine.LNX.4.640.0024@woody.linux-foundation.org>
347  <Pine.LNX.4.640.0025@woody.linux-foundation.org>
348  <Pine.LNX.4.640.0026@woody.linux-foundation.org>
349  <Pine.LNX.4.640.0027@woody.linux-foundation.org>
350  <Pine.LNX.4.640.0028@woody.linux-foundation.org>
351  <Pine.LNX.4.640.0029@woody.linux-foundation.org>
352  <Pine.LNX.4.640.0030@woody.linux-foundation.org>
353  <Pine.LNX.4.640.0031@woody.linux-foundation.org>
354  <Pine.LNX.4.640.0032@woody.linux-foundation.org>
355  <Pine.LNX.4.640.0033@woody.linux-foundation.org>
356  <Pine.LNX.4.640.0034@woody.linux-foundation.org>
357  <Pine.LNX.4.640.0035@woody.linux-foundation.org>
358  <Pine.LNX.4.640.0036@woody.linux-foundation.org>
359  <Pine.LNX.4.640.0037@woody.linux-foundation.org>
360  <Pine.LNX.4.640.0038@woody.linux-foundation.org>
361  <Pine.LNX.4.640.0039@woody.linux-foundation.org>
362  <Pine.LNX.4.640.0040@woody.linux-foundation.org>
363  <Pine.LNX.4.640.0041@woody.linux-foundation.org>
364  <Pine.LNX.4.640.0042@woody.linux-foundation.org>
365  <Pine.LNX.4.640.0043@woody.linux-foundation.org>
366  <Pine.LNX.4.640.0044@woody.linux-foundation.org>
367  <Pine.LNX.4.640.0045@woody.linux-foundation.org>
368  <Pine.LNX.4.640.0046@woody.linux-foundation.org>
369  <Pine.LNX.4.640.0047@woody.linux-foundation.org>
370  <Pine.LNX.4.640.0048@woody.linux-foundation.org>
371  <Pine.LNX.4.640.0049@woody.linux-foundation.org>
372  <Pine.LNX.4.640.0050@woody.linux-foundation.org>
373 Date: Fri, 9 Jun 2006 00:44:16 -0700
374 Subject: [PATCH] a commit.
375
376 Here is a patch from A U Thor.
377
378 ---
379  foo |    2 +-
380  1 files changed, 1 insertions(+), 1 deletions(-)
381
382 diff --git a/foo b/foo
383 index 9123cdc..918dcf8 100644
384 --- a/foo
385 +++ b/foo
386 @@ -1 +1 @@
387 -Fri Jun  9 00:44:04 PDT 2006
388 +Fri Jun  9 00:44:13 PDT 2006
389 -- 
390 1.4.0.g6f2b
391
392 From nobody Mon Sep 17 00:00:00 2001
393 From: A U Thor <a.u.thor@example.com>
394 Date: Fri, 9 Jun 2006 00:44:16 -0700
395 Subject: [PATCH] another patch
396
397 Here is an empty patch from A U Thor.
398
399 From nobody Mon Sep 17 00:00:00 2001
400 From: Junio C Hamano <junio@kernel.org>
401 Date: Fri, 9 Jun 2006 00:44:16 -0700
402 Subject: re: [PATCH] another patch
403
404 From: A U Thor <a.u.thor@example.com>
405 Subject: [PATCH] another patch
406 >Here is an empty patch from A U Thor.
407
408 Hey you forgot the patch!
409
410 From nobody Mon Sep 17 00:00:00 2001
411 From: A U Thor <a.u.thor@example.com>
412 Date: Mon, 17 Sep 2001 00:00:00 +0900
413 Mime-Version: 1.0
414 Content-Type: Text/Plain; charset=us-ascii
415 Content-Transfer-Encoding: Quoted-Printable
416
417 =0A=0AFrom: F U Bar <f.u.bar@example.com>
418 Subject: [PATCH] updates=0A=0AThis is to fix diff-format documentation.
419
420 diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt
421 index b426a14..97756ec 100644
422 --- a/Documentation/diff-format.txt
423 +++ b/Documentation/diff-format.txt
424 @@ -81,7 +81,7 @@ The "diff" formatting options can be customized via the
425  environment variable 'GIT_DIFF_OPTS'.  For example, if you
426  prefer context diff:
427 =20
428 -      GIT_DIFF_OPTS=3D-c git-diff-index -p $(cat .git/HEAD)
429 +      GIT_DIFF_OPTS=3D-c git-diff-index -p HEAD
430 =20
431 =20
432  2. When the environment variable 'GIT_EXTERNAL_DIFF' is set, the