1
2
3
4From nobody Mon Sep 17 00:00:00 2001
5From: A (zzz)
6 U
7 Thor
8 <a.u.thor@example.com> (Comment)
9Date: Fri, 9 Jun 2006 00:44:16 -0700
10Subject: [PATCH] a commit.
11
12Here is a patch from A U Thor.
13
14---
15 foo | 2 +-
16 1 files changed, 1 insertions(+), 1 deletions(-)
17
18diff --git a/foo b/foo
19index 9123cdc..918dcf8 100644
20--- a/foo
21+++ b/foo
22@@ -1 +1 @@
23-Fri Jun 9 00:44:04 PDT 2006
24+Fri Jun 9 00:44:13 PDT 2006
25--
261.4.0.g6f2b
27
28From nobody Mon Sep 17 00:00:00 2001
29From: A U Thor <a.u.thor@example.com>
30Date: Fri, 9 Jun 2006 00:44:16 -0700
31Subject: [PATCH] another patch
32
33Here is a patch from A U Thor. This addresses the issue raised in the
34message:
35
36From: Nit Picker <nit.picker@example.net>
37Subject: foo is too old
38Message-Id: <nitpicker.12121212@example.net>
39
40Hopefully this would fix the problem stated there.
41
42
43I have included an extra blank line above, but it does not have to be
44stripped away here, along with the
45whitespaces at the end of the above line. They are expected to be squashed
46when the message is made into a commit log by stripspace,
47Also, there are three blank lines after this paragraph,
48two truly blank and another full of spaces in between.
49
50
51
52Hope this helps.
53
54---
55 foo | 2 +-
56 1 files changed, 1 insertions(+), 1 deletions(-)
57
58diff --git a/foo b/foo
59index 9123cdc..918dcf8 100644
60--- a/foo
61+++ b/foo
62@@ -1 +1 @@
63-Fri Jun 9 00:44:04 PDT 2006
64+Fri Jun 9 00:44:13 PDT 2006
65--
661.4.0.g6f2b
67
68From nobody Mon Sep 17 00:00:00 2001
69From: Junio C Hamano <junio@kernel.org>
70Date: Fri, 9 Jun 2006 00:44:16 -0700
71Subject: re: [PATCH] another patch
72
73From: A U Thor <a.u.thor@example.com>
74Subject: [PATCH] third patch
75
76Here is a patch from A U Thor. This addresses the issue raised in the
77message:
78
79From: Nit Picker <nit.picker@example.net>
80Subject: foo is too old
81Message-Id: <nitpicker.12121212@example.net>
82
83Hopefully this would fix the problem stated there.
84
85---
86 foo | 2 +-
87 1 files changed, 1 insertions(+), 1 deletions(-)
88
89diff --git a/foo b/foo
90index 9123cdc..918dcf8 100644
91--- a/foo
92+++ b/foo
93@@ -1 +1 @@
94-Fri Jun 9 00:44:04 PDT 2006
95+Fri Jun 9 00:44:13 PDT 2006
96--
971.4.0.g6f2b
98
99From nobody Sat Aug 27 23:07:49 2005
100Path: news.gmane.org!not-for-mail
101Message-ID: <20050721.091036.01119516.yoshfuji@linux-ipv6.org>
102From: YOSHIFUJI Hideaki / =?ISO-2022-JP?B?GyRCNUhGIzFRTEAbKEI=?=
103 <yoshfuji@linux-ipv6.org>
104Newsgroups: gmane.comp.version-control.git
105Subject: [PATCH 1/2] GIT: Try all addresses for given remote name
106Date: Thu, 21 Jul 2005 09:10:36 -0400 (EDT)
107Lines: 99
108Organization: USAGI/WIDE Project
109Approved: news@gmane.org
110NNTP-Posting-Host: main.gmane.org
111Mime-Version: 1.0
112Content-Type: Text/Plain; charset=us-ascii
113Content-Transfer-Encoding: 7bit
114X-Trace: sea.gmane.org 1121951434 29350 80.91.229.2 (21 Jul 2005 13:10:34 GMT)
115X-Complaints-To: usenet@sea.gmane.org
116NNTP-Posting-Date: Thu, 21 Jul 2005 13:10:34 +0000 (UTC)
117
118Hello.
119
120Try all addresses for given remote name until it succeeds.
121Also supports IPv6.
122
123Signed-of-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
124
125diff --git a/connect.c b/connect.c
126--- a/connect.c
127+++ b/connect.c
128@@ -96,42 +96,57 @@ static enum protocol get_protocol(const
129 die("I don't handle protocol '%s'", name);
130 }
131
132-static void lookup_host(const char *host, struct sockaddr *in)
133-{
134- struct addrinfo *res;
135- int ret;
136-
137- ret = getaddrinfo(host, NULL, NULL, &res);
138- if (ret)
139- die("Unable to look up %s (%s)", host, gai_strerror(ret));
140- *in = *res->ai_addr;
141- freeaddrinfo(res);
142-}
143+#define STR_(s) # s
144+#define STR(s) STR_(s)
145
146 static int git_tcp_connect(int fd[2], const char *prog, char *host, char *path)
147 {
148- struct sockaddr addr;
149- int port = DEFAULT_GIT_PORT, sockfd;
150- char *colon;
151-
152- colon = strchr(host, ':');
153- if (colon) {
154- char *end;
155- unsigned long n = strtoul(colon+1, &end, 0);
156- if (colon[1] && !*end) {
157- *colon = 0;
158- port = n;
159+ int sockfd = -1;
160+ char *colon, *end;
161+ char *port = STR(DEFAULT_GIT_PORT);
162+ struct addrinfo hints, *ai0, *ai;
163+ int gai;
164+
165+ if (host[0] == '[') {
166+ end = strchr(host + 1, ']');
167+ if (end) {
168+ *end = 0;
169+ end++;
170+ host++;
171+ } else
172+ end = host;
173+ } else
174+ end = host;
175+ colon = strchr(end, ':');
176+
177+ if (colon)
178+ port = colon + 1;
179+
180+ memset(&hints, 0, sizeof(hints));
181+ hints.ai_socktype = SOCK_STREAM;
182+ hints.ai_protocol = IPPROTO_TCP;
183+
184+ gai = getaddrinfo(host, port, &hints, &ai);
185+ if (gai)
186+ die("Unable to look up %s (%s)", host, gai_strerror(gai));
187+
188+ for (ai0 = ai; ai; ai = ai->ai_next) {
189+ sockfd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
190+ if (sockfd < 0)
191+ continue;
192+ if (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0) {
193+ close(sockfd);
194+ sockfd = -1;
195+ continue;
196 }
197+ break;
198 }
199
200- lookup_host(host, &addr);
201- ((struct sockaddr_in *)&addr)->sin_port = htons(port);
202+ freeaddrinfo(ai0);
203
204- sockfd = socket(PF_INET, SOCK_STREAM, IPPROTO_IP);
205 if (sockfd < 0)
206 die("unable to create socket (%s)", strerror(errno));
207- if (connect(sockfd, (void *)&addr, sizeof(addr)) < 0)
208- die("unable to connect (%s)", strerror(errno));
209+
210 fd[0] = sockfd;
211 fd[1] = sockfd;
212 packet_write(sockfd, "%s %s\n", prog, path);
213
214--
215YOSHIFUJI Hideaki @ USAGI Project <yoshfuji@linux-ipv6.org>
216GPG-FP : 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
217
218From nobody Sat Aug 27 23:07:49 2005
219Path: news.gmane.org!not-for-mail
220Message-ID: <u5tacjjdpxq.fsf@lysator.liu.se>
221From: =?ISO8859-1?Q?David_K=E5gedal?= <davidk@lysator.liu.se>
222Newsgroups: gmane.comp.version-control.git
223Subject: [PATCH] Fixed two bugs in git-cvsimport-script.
224Date: Mon, 15 Aug 2005 20:18:25 +0200
225Lines: 83
226Approved: news@gmane.org
227NNTP-Posting-Host: main.gmane.org
228Mime-Version: 1.0
229Content-Type: text/plain; charset=ISO8859-1
230Content-Transfer-Encoding: QUOTED-PRINTABLE
231X-Trace: sea.gmane.org 1124130247 31839 80.91.229.2 (15 Aug 2005 18:24:07 GMT)
232X-Complaints-To: usenet@sea.gmane.org
233NNTP-Posting-Date: Mon, 15 Aug 2005 18:24:07 +0000 (UTC)
234Cc: "Junio C. Hamano" <junkio@cox.net>
235Original-X-From: git-owner@vger.kernel.org Mon Aug 15 20:24:05 2005
236
237The git-cvsimport-script had a copule of small bugs that prevented me
238from importing a big CVS repository.
239
240The first was that it didn't handle removed files with a multi-digit
241primary revision number.
242
243The second was that it was asking the CVS server for "F" messages,
244although they were not handled.
245
246I also updated the documentation for that script to correspond to
247actual flags.
248
249Signed-off-by: David K=E5gedal <davidk@lysator.liu.se>
250---
251
252 Documentation/git-cvsimport-script.txt | 9 ++++++++-
253 git-cvsimport-script | 4 ++--
254 2 files changed, 10 insertions(+), 3 deletions(-)
255
25650452f9c0c2df1f04d83a26266ba704b13861632
257diff --git a/Documentation/git-cvsimport-script.txt b/Documentation/git=
258-cvsimport-script.txt
259--- a/Documentation/git-cvsimport-script.txt
260+++ b/Documentation/git-cvsimport-script.txt
261@@ -29,6 +29,10 @@ OPTIONS
262 currently, only the :local:, :ext: and :pserver: access methods=20
263 are supported.
264=20
265+-C <target-dir>::
266+ The GIT repository to import to. If the directory doesn't
267+ exist, it will be created. Default is the current directory.
268+
269 -i::
270 Import-only: don't perform a checkout after importing. This option
271 ensures the working directory and cache remain untouched and will
272@@ -44,7 +48,7 @@ OPTIONS
273=20
274 -p <options-for-cvsps>::
275 Additional options for cvsps.
276- The options '-x' and '-A' are implicit and should not be used here.
277+ The options '-u' and '-A' are implicit and should not be used here.
278=20
279 If you need to pass multiple options, separate them with a comma.
280=20
281@@ -57,6 +61,9 @@ OPTIONS
282 -h::
283 Print a short usage message and exit.
284=20
285+-z <fuzz>::
286+ Pass the timestamp fuzz factor to cvsps.
287+
288 OUTPUT
289 ------
290 If '-v' is specified, the script reports what it is doing.
291diff --git a/git-cvsimport-script b/git-cvsimport-script
292--- a/git-cvsimport-script
293+++ b/git-cvsimport-script
294@@ -190,7 +190,7 @@ sub conn {
295 $self->{'socketo'}->write("Root $repo\n");
296=20
297 # Trial and error says that this probably is the minimum set
298- $self->{'socketo'}->write("Valid-responses ok error Valid-requests Mo=
299de M Mbinary E F Checked-in Created Updated Merged Removed\n");
300+ $self->{'socketo'}->write("Valid-responses ok error Valid-requests Mo=
301de M Mbinary E Checked-in Created Updated Merged Removed\n");
302=20
303 $self->{'socketo'}->write("valid-requests\n");
304 $self->{'socketo'}->flush();
305@@ -691,7 +691,7 @@ while(<CVS>) {
306 unlink($tmpname);
307 my $mode =3D pmode($cvs->{'mode'});
308 push(@new,[$mode, $sha, $fn]); # may be resurrected!
309- } elsif($state =3D=3D 9 and /^\s+(\S+):\d(?:\.\d+)+->(\d(?:\.\d+)+)\(=
310DEAD\)\s*$/) {
311+ } elsif($state =3D=3D 9 and /^\s+(\S+):\d+(?:\.\d+)+->(\d+(?:\.\d+)+)=
312\(DEAD\)\s*$/) {
313 my $fn =3D $1;
314 $fn =3D~ s#^/+##;
315 push(@old,$fn);
316
317--=20
318David K=E5gedal
319-
320To unsubscribe from this list: send the line "unsubscribe git" in
321the body of a message to majordomo@vger.kernel.org
322More majordomo info at http://vger.kernel.org/majordomo-info.html
323
324From nobody Mon Sep 17 00:00:00 2001
325From: A U Thor <a.u.thor@example.com>
326References: <Pine.LNX.4.640.0001@woody.linux-foundation.org>
327 <Pine.LNX.4.640.0002@woody.linux-foundation.org>
328 <Pine.LNX.4.640.0003@woody.linux-foundation.org>
329 <Pine.LNX.4.640.0004@woody.linux-foundation.org>
330 <Pine.LNX.4.640.0005@woody.linux-foundation.org>
331 <Pine.LNX.4.640.0006@woody.linux-foundation.org>
332 <Pine.LNX.4.640.0007@woody.linux-foundation.org>
333 <Pine.LNX.4.640.0008@woody.linux-foundation.org>
334 <Pine.LNX.4.640.0009@woody.linux-foundation.org>
335 <Pine.LNX.4.640.0010@woody.linux-foundation.org>
336 <Pine.LNX.4.640.0011@woody.linux-foundation.org>
337 <Pine.LNX.4.640.0012@woody.linux-foundation.org>
338 <Pine.LNX.4.640.0013@woody.linux-foundation.org>
339 <Pine.LNX.4.640.0014@woody.linux-foundation.org>
340 <Pine.LNX.4.640.0015@woody.linux-foundation.org>
341 <Pine.LNX.4.640.0016@woody.linux-foundation.org>
342 <Pine.LNX.4.640.0017@woody.linux-foundation.org>
343 <Pine.LNX.4.640.0018@woody.linux-foundation.org>
344 <Pine.LNX.4.640.0019@woody.linux-foundation.org>
345 <Pine.LNX.4.640.0020@woody.linux-foundation.org>
346 <Pine.LNX.4.640.0021@woody.linux-foundation.org>
347 <Pine.LNX.4.640.0022@woody.linux-foundation.org>
348 <Pine.LNX.4.640.0023@woody.linux-foundation.org>
349 <Pine.LNX.4.640.0024@woody.linux-foundation.org>
350 <Pine.LNX.4.640.0025@woody.linux-foundation.org>
351 <Pine.LNX.4.640.0026@woody.linux-foundation.org>
352 <Pine.LNX.4.640.0027@woody.linux-foundation.org>
353 <Pine.LNX.4.640.0028@woody.linux-foundation.org>
354 <Pine.LNX.4.640.0029@woody.linux-foundation.org>
355 <Pine.LNX.4.640.0030@woody.linux-foundation.org>
356 <Pine.LNX.4.640.0031@woody.linux-foundation.org>
357 <Pine.LNX.4.640.0032@woody.linux-foundation.org>
358 <Pine.LNX.4.640.0033@woody.linux-foundation.org>
359 <Pine.LNX.4.640.0034@woody.linux-foundation.org>
360 <Pine.LNX.4.640.0035@woody.linux-foundation.org>
361 <Pine.LNX.4.640.0036@woody.linux-foundation.org>
362 <Pine.LNX.4.640.0037@woody.linux-foundation.org>
363 <Pine.LNX.4.640.0038@woody.linux-foundation.org>
364 <Pine.LNX.4.640.0039@woody.linux-foundation.org>
365 <Pine.LNX.4.640.0040@woody.linux-foundation.org>
366 <Pine.LNX.4.640.0041@woody.linux-foundation.org>
367 <Pine.LNX.4.640.0042@woody.linux-foundation.org>
368 <Pine.LNX.4.640.0043@woody.linux-foundation.org>
369 <Pine.LNX.4.640.0044@woody.linux-foundation.org>
370 <Pine.LNX.4.640.0045@woody.linux-foundation.org>
371 <Pine.LNX.4.640.0046@woody.linux-foundation.org>
372 <Pine.LNX.4.640.0047@woody.linux-foundation.org>
373 <Pine.LNX.4.640.0048@woody.linux-foundation.org>
374 <Pine.LNX.4.640.0049@woody.linux-foundation.org>
375 <Pine.LNX.4.640.0050@woody.linux-foundation.org>
376Date: Fri, 9 Jun 2006 00:44:16 -0700
377Subject: [PATCH] a commit.
378
379Here is a patch from A U Thor.
380
381---
382 foo | 2 +-
383 1 files changed, 1 insertions(+), 1 deletions(-)
384
385diff --git a/foo b/foo
386index 9123cdc..918dcf8 100644
387--- a/foo
388+++ b/foo
389@@ -1 +1 @@
390-Fri Jun 9 00:44:04 PDT 2006
391+Fri Jun 9 00:44:13 PDT 2006
392--
3931.4.0.g6f2b
394
395From nobody Mon Sep 17 00:00:00 2001
396From: A U Thor <a.u.thor@example.com>
397Date: Fri, 9 Jun 2006 00:44:16 -0700
398Subject: [PATCH] another patch
399
400Here is an empty patch from A U Thor.
401
402From nobody Mon Sep 17 00:00:00 2001
403From: Junio C Hamano <junio@kernel.org>
404Date: Fri, 9 Jun 2006 00:44:16 -0700
405Subject: re: [PATCH] another patch
406
407From: A U Thor <a.u.thor@example.com>
408Subject: [PATCH] another patch
409>Here is an empty patch from A U Thor.
410
411Hey you forgot the patch!
412
413From nobody Mon Sep 17 00:00:00 2001
414From: A U Thor <a.u.thor@example.com>
415Date: Mon, 17 Sep 2001 00:00:00 +0900
416Mime-Version: 1.0
417Content-Type: Text/Plain; charset=us-ascii
418Content-Transfer-Encoding: Quoted-Printable
419
420=0A=0AFrom: F U Bar <f.u.bar@example.com>
421Subject: [PATCH] updates=0A=0AThis is to fix diff-format documentation.
422
423diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt
424index b426a14..97756ec 100644
425--- a/Documentation/diff-format.txt
426+++ b/Documentation/diff-format.txt
427@@ -81,7 +81,7 @@ The "diff" formatting options can be customized via the
428 environment variable 'GIT_DIFF_OPTS'. For example, if you
429 prefer context diff:
430=20
431- GIT_DIFF_OPTS=3D-c git-diff-index -p $(cat .git/HEAD)
432+ GIT_DIFF_OPTS=3D-c git-diff-index -p HEAD
433=20
434=20
435 2. When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
436From b9704a518e21158433baa2cc2d591fea687967f6 Mon Sep 17 00:00:00 2001
437From: =?UTF-8?q?Lukas=20Sandstr=C3=B6m?= <lukass@etek.chalmers.se>
438Date: Thu, 10 Jul 2008 23:41:33 +0200
439Subject: Re: discussion that lead to this patch
440MIME-Version: 1.0
441Content-Type: text/plain; charset=UTF-8
442Content-Transfer-Encoding: 8bit
443
444[PATCH] git-mailinfo: Fix getting the subject from the body
445
446"Subject: " isn't in the static array "header", and thus
447memcmp("Subject: ", header[i], 7) will never match.
448
449Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
450Signed-off-by: Junio C Hamano <gitster@pobox.com>
451---
452 builtin-mailinfo.c | 2 +-
453 1 files changed, 1 insertions(+), 1 deletions(-)
454
455diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
456index 962aa34..2d1520f 100644
457--- a/builtin-mailinfo.c
458+++ b/builtin-mailinfo.c
459@@ -334,7 +334,7 @@ static int check_header(char *line, unsigned linesize, char **hdr_data, int over
460 return 1;
461 if (!memcmp("[PATCH]", line, 7) && isspace(line[7])) {
462 for (i = 0; header[i]; i++) {
463- if (!memcmp("Subject: ", header[i], 9)) {
464+ if (!memcmp("Subject", header[i], 7)) {
465 if (! handle_header(line, hdr_data[i], 0)) {
466 return 1;
467 }
468--
4691.5.6.2.455.g1efb2
470
471From nobody Fri Aug 8 22:24:03 2008
472Date: Fri, 8 Aug 2008 13:08:37 +0200 (CEST)
473From: A U Thor <a.u.thor@example.com>
474Subject: [PATCH 3/3 v2] Xyzzy
475MIME-Version: 1.0
476Content-Type: multipart/mixed; boundary="=-=-="
477
478--=-=-=
479Content-Type: text/plain; charset=ISO8859-15
480Content-Transfer-Encoding: quoted-printable
481
482Here comes a commit log message, and
483its second line is here.
484---
485 builtin-mailinfo.c | 4 ++--
486
487diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
488index 3e5fe51..aabfe5c 100644
489--- a/builtin-mailinfo.c
490+++ b/builtin-mailinfo.c
491@@ -758,8 +758,8 @@ static void handle_body(void)
492 /* process any boundary lines */
493 if (*content_top && is_multipart_boundary(&line)) {
494 /* flush any leftover */
495- if (line.len)
496- handle_filter(&line);
497+ if (prev.len)
498+ handle_filter(&prev);
499=20
500 if (!handle_boundary())
501 goto handle_body_out;
502--=20
5031.6.0.rc2
504
505--=-=-=--
506
507From bda@mnsspb.ru Wed Nov 12 17:54:41 2008
508From: Dmitriy Blinov <bda@mnsspb.ru>
509To: navy-patches@dinar.mns.mnsspb.ru
510Date: Wed, 12 Nov 2008 17:54:41 +0300
511Message-Id: <1226501681-24923-1-git-send-email-bda@mnsspb.ru>
512X-Mailer: git-send-email 1.5.6.5
513MIME-Version: 1.0
514Content-Type: text/plain;
515 charset=utf-8
516Content-Transfer-Encoding: 8bit
517Subject: [PATCH] [Navy-patches]
518 =?utf-8?b?0JjQt9C80LXQvdGR0L0g0YHQv9C40YHQvtC6INC/0LA=?=
519 =?utf-8?b?0LrQtdGC0L7QsiDQvdC10L7QsdGF0L7QtNC40LzRi9GFINC00LvRjyA=?=
520 =?utf-8?b?0YHQsdC+0YDQutC4?=
521
522textlive-* исправлены на texlive-*
523docutils заменён на python-docutils
524
525Действительно, оказалось, что rest2web вытягивает за собой
526python-docutils. В то время как сам rest2web не нужен.
527
528Signed-off-by: Dmitriy Blinov <bda@mnsspb.ru>
529---
530 howto/build_navy.txt | 6 +++---
531 1 files changed, 3 insertions(+), 3 deletions(-)
532
533diff --git a/howto/build_navy.txt b/howto/build_navy.txt
534index 3fd3afb..0ee807e 100644
535--- a/howto/build_navy.txt
536+++ b/howto/build_navy.txt
537@@ -119,8 +119,8 @@
538 - libxv-dev
539 - libusplash-dev
540 - latex-make
541- - textlive-lang-cyrillic
542- - textlive-latex-extra
543+ - texlive-lang-cyrillic
544+ - texlive-latex-extra
545 - dia
546 - python-pyrex
547 - libtool
548@@ -128,7 +128,7 @@
549 - sox
550 - cython
551 - imagemagick
552- - docutils
553+ - python-docutils
554
555 #. на машине dinar: добавить свой открытый ssh-ключ в authorized_keys2 пользователя ddev
556 #. на своей машине: отредактировать /etc/sudoers (команда ``visudo``) примерно следующим образом::
557--
5581.5.6.5
559From nobody Mon Sep 17 00:00:00 2001
560From: <a.u.thor@example.com> (A U Thor)
561Date: Fri, 9 Jun 2006 00:44:16 -0700
562Subject: [PATCH] a patch
563