721 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
			
		
		
	
	
			721 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Plaintext
		
	
	
    
 | 
						||
	
 | 
						||
    
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: A (zzz)
 | 
						||
      U
 | 
						||
      Thor
 | 
						||
      <a.u.thor@example.com> (Comment)
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
Subject: [PATCH] a commit.
 | 
						||
 | 
						||
Here is a patch from A U Thor.
 | 
						||
 | 
						||
---
 | 
						||
 foo | 2 +-
 | 
						||
 1 files changed, 1 insertions(+), 1 deletions(-)
 | 
						||
 | 
						||
diff --git a/foo b/foo
 | 
						||
index 9123cdc..918dcf8 100644
 | 
						||
--- a/foo
 | 
						||
+++ b/foo
 | 
						||
@@ -1 +1 @@
 | 
						||
-Fri Jun  9 00:44:04 PDT 2006
 | 
						||
+Fri Jun  9 00:44:13 PDT 2006
 | 
						||
-- 
 | 
						||
1.4.0.g6f2b
 | 
						||
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
Subject: [PATCH] another patch
 | 
						||
 | 
						||
Here is a patch from A U Thor.  This addresses the issue raised in the
 | 
						||
message:
 | 
						||
 | 
						||
From: Nit Picker <nit.picker@example.net>
 | 
						||
Subject: foo is too old
 | 
						||
Message-Id: <nitpicker.12121212@example.net>
 | 
						||
 | 
						||
Hopefully this would fix the problem stated there.
 | 
						||
 | 
						||
 | 
						||
I have included an extra blank line above, but it does not have to be
 | 
						||
stripped away here, along with the               		   
 | 
						||
whitespaces at the end of the above line.  They are expected to be squashed
 | 
						||
when the message is made into a commit log by stripspace,
 | 
						||
Also, there are three blank lines after this paragraph,
 | 
						||
two truly blank and another full of spaces in between.
 | 
						||
 | 
						||
            
 | 
						||
 | 
						||
Hope this helps.
 | 
						||
 | 
						||
---
 | 
						||
 foo | 2 +-
 | 
						||
 1 files changed, 1 insertions(+), 1 deletions(-)
 | 
						||
 | 
						||
diff --git a/foo b/foo
 | 
						||
index 9123cdc..918dcf8 100644
 | 
						||
--- a/foo
 | 
						||
+++ b/foo
 | 
						||
@@ -1 +1 @@
 | 
						||
-Fri Jun  9 00:44:04 PDT 2006
 | 
						||
+Fri Jun  9 00:44:13 PDT 2006
 | 
						||
-- 
 | 
						||
1.4.0.g6f2b
 | 
						||
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: Junio C Hamano <junio@kernel.org>
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
Subject: re: [PATCH] another patch
 | 
						||
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Subject: [PATCH] third patch
 | 
						||
 | 
						||
Here is a patch from A U Thor.  This addresses the issue raised in the
 | 
						||
message:
 | 
						||
 | 
						||
From: Nit Picker <nit.picker@example.net>
 | 
						||
Subject: foo is too old
 | 
						||
Message-Id: <nitpicker.12121212@example.net>
 | 
						||
 | 
						||
Hopefully this would fix the problem stated there.
 | 
						||
 | 
						||
---
 | 
						||
 foo | 2 +-
 | 
						||
 1 files changed, 1 insertions(+), 1 deletions(-)
 | 
						||
 | 
						||
diff --git a/foo b/foo
 | 
						||
index 9123cdc..918dcf8 100644
 | 
						||
--- a/foo
 | 
						||
+++ b/foo
 | 
						||
@@ -1 +1 @@
 | 
						||
-Fri Jun  9 00:44:04 PDT 2006
 | 
						||
+Fri Jun  9 00:44:13 PDT 2006
 | 
						||
-- 
 | 
						||
1.4.0.g6f2b
 | 
						||
 | 
						||
From nobody Sat Aug 27 23:07:49 2005
 | 
						||
Path: news.gmane.org!not-for-mail
 | 
						||
Message-ID: <20050721.091036.01119516.yoshfuji@linux-ipv6.org>
 | 
						||
From: YOSHIFUJI Hideaki / =?ISO-2022-JP?B?GyRCNUhGIzFRTEAbKEI=?= 
 | 
						||
	<yoshfuji@linux-ipv6.org>
 | 
						||
Newsgroups: gmane.comp.version-control.git
 | 
						||
Subject: [PATCH 1/2] GIT: Try all addresses for given remote name
 | 
						||
Date: Thu, 21 Jul 2005 09:10:36 -0400 (EDT)
 | 
						||
Lines: 99
 | 
						||
Organization: USAGI/WIDE Project
 | 
						||
Approved: news@gmane.org
 | 
						||
NNTP-Posting-Host: main.gmane.org
 | 
						||
Mime-Version: 1.0
 | 
						||
Content-Type: Text/Plain; charset=us-ascii
 | 
						||
Content-Transfer-Encoding: 7bit
 | 
						||
X-Trace: sea.gmane.org 1121951434 29350 80.91.229.2 (21 Jul 2005 13:10:34 GMT)
 | 
						||
X-Complaints-To: usenet@sea.gmane.org
 | 
						||
NNTP-Posting-Date: Thu, 21 Jul 2005 13:10:34 +0000 (UTC)
 | 
						||
 | 
						||
Hello.
 | 
						||
 | 
						||
Try all addresses for given remote name until it succeeds.
 | 
						||
Also supports IPv6.
 | 
						||
 | 
						||
Signed-of-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
 | 
						||
 | 
						||
diff --git a/connect.c b/connect.c
 | 
						||
--- a/connect.c
 | 
						||
+++ b/connect.c
 | 
						||
@@ -96,42 +96,57 @@ static enum protocol get_protocol(const 
 | 
						||
 	die("I don't handle protocol '%s'", name);
 | 
						||
 }
 | 
						||
 
 | 
						||
-static void lookup_host(const char *host, struct sockaddr *in)
 | 
						||
-{
 | 
						||
-	struct addrinfo *res;
 | 
						||
-	int ret;
 | 
						||
-
 | 
						||
-	ret = getaddrinfo(host, NULL, NULL, &res);
 | 
						||
-	if (ret)
 | 
						||
-		die("Unable to look up %s (%s)", host, gai_strerror(ret));
 | 
						||
-	*in = *res->ai_addr;
 | 
						||
-	freeaddrinfo(res);
 | 
						||
-}
 | 
						||
+#define STR_(s)	# s
 | 
						||
+#define STR(s)	STR_(s)
 | 
						||
 
 | 
						||
 static int git_tcp_connect(int fd[2], const char *prog, char *host, char *path)
 | 
						||
 {
 | 
						||
-	struct sockaddr addr;
 | 
						||
-	int port = DEFAULT_GIT_PORT, sockfd;
 | 
						||
-	char *colon;
 | 
						||
-
 | 
						||
-	colon = strchr(host, ':');
 | 
						||
-	if (colon) {
 | 
						||
-		char *end;
 | 
						||
-		unsigned long n = strtoul(colon+1, &end, 0);
 | 
						||
-		if (colon[1] && !*end) {
 | 
						||
-			*colon = 0;
 | 
						||
-			port = n;
 | 
						||
+	int sockfd = -1;
 | 
						||
+	char *colon, *end;
 | 
						||
+	char *port = STR(DEFAULT_GIT_PORT);
 | 
						||
+	struct addrinfo hints, *ai0, *ai;
 | 
						||
+	int gai;
 | 
						||
+
 | 
						||
+	if (host[0] == '[') {
 | 
						||
+		end = strchr(host + 1, ']');
 | 
						||
+		if (end) {
 | 
						||
+			*end = 0;
 | 
						||
+			end++;
 | 
						||
+			host++;
 | 
						||
+		} else
 | 
						||
+			end = host;
 | 
						||
+	} else
 | 
						||
+		end = host;
 | 
						||
+	colon = strchr(end, ':');
 | 
						||
+
 | 
						||
+	if (colon)
 | 
						||
+		port = colon + 1;
 | 
						||
+
 | 
						||
+	memset(&hints, 0, sizeof(hints));
 | 
						||
+	hints.ai_socktype = SOCK_STREAM;
 | 
						||
+	hints.ai_protocol = IPPROTO_TCP;
 | 
						||
+
 | 
						||
+	gai = getaddrinfo(host, port, &hints, &ai);
 | 
						||
+	if (gai)
 | 
						||
+		die("Unable to look up %s (%s)", host, gai_strerror(gai));
 | 
						||
+
 | 
						||
+	for (ai0 = ai; ai; ai = ai->ai_next) {
 | 
						||
+		sockfd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
 | 
						||
+		if (sockfd < 0)
 | 
						||
+			continue;
 | 
						||
+		if (connect(sockfd, ai->ai_addr, ai->ai_addrlen) < 0) {
 | 
						||
+			close(sockfd);
 | 
						||
+			sockfd = -1;
 | 
						||
+			continue;
 | 
						||
 		}
 | 
						||
+		break;
 | 
						||
 	}
 | 
						||
 
 | 
						||
-	lookup_host(host, &addr);
 | 
						||
-	((struct sockaddr_in *)&addr)->sin_port = htons(port);
 | 
						||
+	freeaddrinfo(ai0);
 | 
						||
 
 | 
						||
-	sockfd = socket(PF_INET, SOCK_STREAM, IPPROTO_IP);
 | 
						||
 	if (sockfd < 0)
 | 
						||
 		die("unable to create socket (%s)", strerror(errno));
 | 
						||
-	if (connect(sockfd, (void *)&addr, sizeof(addr)) < 0)
 | 
						||
-		die("unable to connect (%s)", strerror(errno));
 | 
						||
+
 | 
						||
 	fd[0] = sockfd;
 | 
						||
 	fd[1] = sockfd;
 | 
						||
 	packet_write(sockfd, "%s %s\n", prog, path);
 | 
						||
 | 
						||
-- 
 | 
						||
YOSHIFUJI Hideaki @ USAGI Project  <yoshfuji@linux-ipv6.org>
 | 
						||
GPG-FP  : 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA
 | 
						||
 | 
						||
From nobody Sat Aug 27 23:07:49 2005
 | 
						||
Path: news.gmane.org!not-for-mail
 | 
						||
Message-ID: <u5tacjjdpxq.fsf@lysator.liu.se>
 | 
						||
From: =?ISO8859-1?Q?David_K=E5gedal?= <davidk@lysator.liu.se>
 | 
						||
Newsgroups: gmane.comp.version-control.git
 | 
						||
Subject: [PATCH] Fixed two bugs in git-cvsimport-script.
 | 
						||
Date: Mon, 15 Aug 2005 20:18:25 +0200
 | 
						||
Lines: 83
 | 
						||
Approved: news@gmane.org
 | 
						||
NNTP-Posting-Host: main.gmane.org
 | 
						||
Mime-Version: 1.0
 | 
						||
Content-Type: text/plain; charset=ISO8859-1
 | 
						||
Content-Transfer-Encoding: QUOTED-PRINTABLE
 | 
						||
X-Trace: sea.gmane.org 1124130247 31839 80.91.229.2 (15 Aug 2005 18:24:07 GMT)
 | 
						||
X-Complaints-To: usenet@sea.gmane.org
 | 
						||
NNTP-Posting-Date: Mon, 15 Aug 2005 18:24:07 +0000 (UTC)
 | 
						||
Cc: "Junio C. Hamano" <junkio@cox.net>
 | 
						||
Original-X-From: git-owner@vger.kernel.org Mon Aug 15 20:24:05 2005
 | 
						||
 | 
						||
The git-cvsimport-script had a copule of small bugs that prevented me
 | 
						||
from importing a big CVS repository.
 | 
						||
 | 
						||
The first was that it didn't handle removed files with a multi-digit
 | 
						||
primary revision number.
 | 
						||
 | 
						||
The second was that it was asking the CVS server for "F" messages,
 | 
						||
although they were not handled.
 | 
						||
 | 
						||
I also updated the documentation for that script to correspond to
 | 
						||
actual flags.
 | 
						||
 | 
						||
Signed-off-by: David K=E5gedal <davidk@lysator.liu.se>
 | 
						||
---
 | 
						||
 | 
						||
 Documentation/git-cvsimport-script.txt | 9 ++++++++-
 | 
						||
 git-cvsimport-script                   | 4 ++--
 | 
						||
 2 files changed, 10 insertions(+), 3 deletions(-)
 | 
						||
 | 
						||
50452f9c0c2df1f04d83a26266ba704b13861632
 | 
						||
diff --git a/Documentation/git-cvsimport-script.txt b/Documentation/git=
 | 
						||
-cvsimport-script.txt
 | 
						||
--- a/Documentation/git-cvsimport-script.txt
 | 
						||
+++ b/Documentation/git-cvsimport-script.txt
 | 
						||
@@ -29,6 +29,10 @@ OPTIONS
 | 
						||
 	currently, only the :local:, :ext: and :pserver: access methods=20
 | 
						||
 	are supported.
 | 
						||
=20
 | 
						||
+-C <target-dir>::
 | 
						||
+        The GIT repository to import to.  If the directory doesn't
 | 
						||
+        exist, it will be created.  Default is the current directory.
 | 
						||
+
 | 
						||
 -i::
 | 
						||
 	Import-only: don't perform a checkout after importing.  This option
 | 
						||
 	ensures the working directory and cache remain untouched and will
 | 
						||
@@ -44,7 +48,7 @@ OPTIONS
 | 
						||
=20
 | 
						||
 -p <options-for-cvsps>::
 | 
						||
 	Additional options for cvsps.
 | 
						||
-	The options '-x' and '-A' are implicit and should not be used here.
 | 
						||
+	The options '-u' and '-A' are implicit and should not be used here.
 | 
						||
=20
 | 
						||
 	If you need to pass multiple options, separate them with a comma.
 | 
						||
=20
 | 
						||
@@ -57,6 +61,9 @@ OPTIONS
 | 
						||
 -h::
 | 
						||
 	Print a short usage message and exit.
 | 
						||
=20
 | 
						||
+-z <fuzz>::
 | 
						||
+        Pass the timestamp fuzz factor to cvsps.
 | 
						||
+
 | 
						||
 OUTPUT
 | 
						||
 ------
 | 
						||
 If '-v' is specified, the script reports what it is doing.
 | 
						||
diff --git a/git-cvsimport-script b/git-cvsimport-script
 | 
						||
--- a/git-cvsimport-script
 | 
						||
+++ b/git-cvsimport-script
 | 
						||
@@ -190,7 +190,7 @@ sub conn {
 | 
						||
 	$self->{'socketo'}->write("Root $repo\n");
 | 
						||
=20
 | 
						||
 	# Trial and error says that this probably is the minimum set
 | 
						||
-	$self->{'socketo'}->write("Valid-responses ok error Valid-requests Mo=
 | 
						||
de M Mbinary E F Checked-in Created Updated Merged Removed\n");
 | 
						||
+	$self->{'socketo'}->write("Valid-responses ok error Valid-requests Mo=
 | 
						||
de M Mbinary E Checked-in Created Updated Merged Removed\n");
 | 
						||
=20
 | 
						||
 	$self->{'socketo'}->write("valid-requests\n");
 | 
						||
 	$self->{'socketo'}->flush();
 | 
						||
@@ -691,7 +691,7 @@ while(<CVS>) {
 | 
						||
 		unlink($tmpname);
 | 
						||
 		my $mode =3D pmode($cvs->{'mode'});
 | 
						||
 		push(@new,[$mode, $sha, $fn]); # may be resurrected!
 | 
						||
-	} elsif($state =3D=3D 9 and /^\s+(\S+):\d(?:\.\d+)+->(\d(?:\.\d+)+)\(=
 | 
						||
DEAD\)\s*$/) {
 | 
						||
+	} elsif($state =3D=3D 9 and /^\s+(\S+):\d+(?:\.\d+)+->(\d+(?:\.\d+)+)=
 | 
						||
\(DEAD\)\s*$/) {
 | 
						||
 		my $fn =3D $1;
 | 
						||
 		$fn =3D~ s#^/+##;
 | 
						||
 		push(@old,$fn);
 | 
						||
 | 
						||
--=20
 | 
						||
David K=E5gedal
 | 
						||
-
 | 
						||
To unsubscribe from this list: send the line "unsubscribe git" in
 | 
						||
the body of a message to majordomo@vger.kernel.org
 | 
						||
More majordomo info at  http://vger.kernel.org/majordomo-info.html
 | 
						||
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
References: <Pine.LNX.4.640.0001@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0002@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0003@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0004@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0005@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0006@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0007@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0008@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0009@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0010@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0011@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0012@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0013@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0014@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0015@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0016@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0017@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0018@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0019@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0020@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0021@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0022@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0023@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0024@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0025@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0026@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0027@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0028@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0029@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0030@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0031@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0032@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0033@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0034@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0035@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0036@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0037@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0038@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0039@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0040@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0041@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0042@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0043@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0044@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0045@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0046@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0047@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0048@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0049@woody.linux-foundation.org>
 | 
						||
 <Pine.LNX.4.640.0050@woody.linux-foundation.org>
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
Subject: [PATCH] a commit.
 | 
						||
 | 
						||
Here is a patch from A U Thor.
 | 
						||
 | 
						||
---
 | 
						||
 foo | 2 +-
 | 
						||
 1 files changed, 1 insertions(+), 1 deletions(-)
 | 
						||
 | 
						||
diff --git a/foo b/foo
 | 
						||
index 9123cdc..918dcf8 100644
 | 
						||
--- a/foo
 | 
						||
+++ b/foo
 | 
						||
@@ -1 +1 @@
 | 
						||
-Fri Jun  9 00:44:04 PDT 2006
 | 
						||
+Fri Jun  9 00:44:13 PDT 2006
 | 
						||
-- 
 | 
						||
1.4.0.g6f2b
 | 
						||
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
Subject: [PATCH] another patch
 | 
						||
 | 
						||
Here is an empty patch from A U Thor.
 | 
						||
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: Junio C Hamano <junio@kernel.org>
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
Subject: re: [PATCH] another patch
 | 
						||
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Subject: [PATCH] another patch
 | 
						||
>Here is an empty patch from A U Thor.
 | 
						||
 | 
						||
Hey you forgot the patch!
 | 
						||
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Date: Mon, 17 Sep 2001 00:00:00 +0900
 | 
						||
Mime-Version: 1.0
 | 
						||
Content-Type: Text/Plain; charset=us-ascii
 | 
						||
Content-Transfer-Encoding: Quoted-Printable
 | 
						||
 | 
						||
=0A=0AFrom: F U Bar <f.u.bar@example.com>
 | 
						||
Subject: [PATCH] updates=0A=0AThis is to fix diff-format documentation.
 | 
						||
 | 
						||
diff --git a/Documentation/diff-format.txt b/Documentation/diff-format.txt
 | 
						||
index b426a14..97756ec 100644
 | 
						||
--- a/Documentation/diff-format.txt
 | 
						||
+++ b/Documentation/diff-format.txt
 | 
						||
@@ -81,7 +81,7 @@ The "diff" formatting options can be customized via the
 | 
						||
 environment variable 'GIT_DIFF_OPTS'.  For example, if you
 | 
						||
 prefer context diff:
 | 
						||
=20
 | 
						||
-      GIT_DIFF_OPTS=3D-c git-diff-index -p $(cat .git/HEAD)
 | 
						||
+      GIT_DIFF_OPTS=3D-c git-diff-index -p HEAD
 | 
						||
=20
 | 
						||
=20
 | 
						||
 2. When the environment variable 'GIT_EXTERNAL_DIFF' is set, the
 | 
						||
From b9704a518e21158433baa2cc2d591fea687967f6 Mon Sep 17 00:00:00 2001
 | 
						||
From: =?UTF-8?q?Lukas=20Sandstr=C3=B6m?= <lukass@etek.chalmers.se>
 | 
						||
Date: Thu, 10 Jul 2008 23:41:33 +0200
 | 
						||
Subject: Re: discussion that lead to this patch
 | 
						||
MIME-Version: 1.0
 | 
						||
Content-Type: text/plain; charset=UTF-8
 | 
						||
Content-Transfer-Encoding: 8bit
 | 
						||
 | 
						||
[PATCH] git-mailinfo: Fix getting the subject from the body
 | 
						||
 | 
						||
"Subject: " isn't in the static array "header", and thus
 | 
						||
memcmp("Subject: ", header[i], 7) will never match.
 | 
						||
 | 
						||
Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
 | 
						||
Signed-off-by: Junio C Hamano <gitster@pobox.com>
 | 
						||
---
 | 
						||
 builtin-mailinfo.c | 2 +-
 | 
						||
 1 files changed, 1 insertions(+), 1 deletions(-)
 | 
						||
 | 
						||
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
 | 
						||
index 962aa34..2d1520f 100644
 | 
						||
--- a/builtin-mailinfo.c
 | 
						||
+++ b/builtin-mailinfo.c
 | 
						||
@@ -334,7 +334,7 @@ static int check_header(char *line, unsigned linesize, char **hdr_data, int over
 | 
						||
 		return 1;
 | 
						||
 	if (!memcmp("[PATCH]", line, 7) && isspace(line[7])) {
 | 
						||
 		for (i = 0; header[i]; i++) {
 | 
						||
-			if (!memcmp("Subject: ", header[i], 9)) {
 | 
						||
+			if (!memcmp("Subject", header[i], 7)) {
 | 
						||
 				if (! handle_header(line, hdr_data[i], 0)) {
 | 
						||
 					return 1;
 | 
						||
 				}
 | 
						||
-- 
 | 
						||
1.5.6.2.455.g1efb2
 | 
						||
 | 
						||
From nobody Fri Aug  8 22:24:03 2008
 | 
						||
Date: Fri, 8 Aug 2008 13:08:37 +0200 (CEST)
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Subject: [PATCH 3/3 v2] Xyzzy
 | 
						||
MIME-Version: 1.0
 | 
						||
Content-Type: multipart/mixed; boundary="=-=-="
 | 
						||
 | 
						||
--=-=-=
 | 
						||
Content-Type: text/plain; charset=ISO8859-15
 | 
						||
Content-Transfer-Encoding: quoted-printable
 | 
						||
 | 
						||
Here comes a commit log message, and
 | 
						||
its second line is here.
 | 
						||
---
 | 
						||
 builtin-mailinfo.c  | 4 ++--
 | 
						||
 | 
						||
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
 | 
						||
index 3e5fe51..aabfe5c 100644
 | 
						||
--- a/builtin-mailinfo.c
 | 
						||
+++ b/builtin-mailinfo.c
 | 
						||
@@ -758,8 +758,8 @@ static void handle_body(void)
 | 
						||
 		/* process any boundary lines */
 | 
						||
 		if (*content_top && is_multipart_boundary(&line)) {
 | 
						||
 			/* flush any leftover */
 | 
						||
-			if (line.len)
 | 
						||
-				handle_filter(&line);
 | 
						||
+			if (prev.len)
 | 
						||
+				handle_filter(&prev);
 | 
						||
=20
 | 
						||
 			if (!handle_boundary())
 | 
						||
 				goto handle_body_out;
 | 
						||
--=20
 | 
						||
1.6.0.rc2
 | 
						||
 | 
						||
--=-=-=--
 | 
						||
 | 
						||
From bda@mnsspb.ru Wed Nov 12 17:54:41 2008
 | 
						||
From: Dmitriy Blinov <bda@mnsspb.ru>
 | 
						||
To: navy-patches@dinar.mns.mnsspb.ru
 | 
						||
Date: Wed, 12 Nov 2008 17:54:41 +0300
 | 
						||
Message-Id: <1226501681-24923-1-git-send-email-bda@mnsspb.ru>
 | 
						||
X-Mailer: git-send-email 1.5.6.5
 | 
						||
MIME-Version: 1.0
 | 
						||
Content-Type: text/plain;
 | 
						||
  charset=utf-8
 | 
						||
Content-Transfer-Encoding: 8bit
 | 
						||
Subject: [Navy-patches] [PATCH]
 | 
						||
	=?utf-8?b?0JjQt9C80LXQvdGR0L0g0YHQv9C40YHQvtC6INC/0LA=?=
 | 
						||
	=?utf-8?b?0LrQtdGC0L7QsiDQvdC10L7QsdGF0L7QtNC40LzRi9GFINC00LvRjyA=?=
 | 
						||
	=?utf-8?b?0YHQsdC+0YDQutC4?=
 | 
						||
 | 
						||
textlive-* исправлены на texlive-*
 | 
						||
docutils заменён на python-docutils
 | 
						||
 | 
						||
Действительно, оказалось, что rest2web вытягивает за собой
 | 
						||
python-docutils. В то время как сам rest2web не нужен.
 | 
						||
 | 
						||
Signed-off-by: Dmitriy Blinov <bda@mnsspb.ru>
 | 
						||
---
 | 
						||
 howto/build_navy.txt |    6 +++---
 | 
						||
 1 files changed, 3 insertions(+), 3 deletions(-)
 | 
						||
 | 
						||
diff --git a/howto/build_navy.txt b/howto/build_navy.txt
 | 
						||
index 3fd3afb..0ee807e 100644
 | 
						||
--- a/howto/build_navy.txt
 | 
						||
+++ b/howto/build_navy.txt
 | 
						||
@@ -119,8 +119,8 @@
 | 
						||
    - libxv-dev
 | 
						||
    - libusplash-dev
 | 
						||
    - latex-make
 | 
						||
-   - textlive-lang-cyrillic
 | 
						||
-   - textlive-latex-extra
 | 
						||
+   - texlive-lang-cyrillic
 | 
						||
+   - texlive-latex-extra
 | 
						||
    - dia
 | 
						||
    - python-pyrex
 | 
						||
    - libtool
 | 
						||
@@ -128,7 +128,7 @@
 | 
						||
    - sox
 | 
						||
    - cython
 | 
						||
    - imagemagick
 | 
						||
-   - docutils
 | 
						||
+   - python-docutils
 | 
						||
 
 | 
						||
 #. на машине dinar: добавить свой открытый ssh-ключ в authorized_keys2 пользователя ddev
 | 
						||
 #. на своей машине: отредактировать /etc/sudoers (команда ``visudo``) примерно следующим образом::
 | 
						||
-- 
 | 
						||
1.5.6.5
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: <a.u.thor@example.com> (A U Thor)
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
Subject: [PATCH] a patch
 | 
						||
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: Junio Hamano <junkio@cox.net>
 | 
						||
Date: Thu, 20 Aug 2009 17:18:22 -0700
 | 
						||
Subject: Why doesn't git-am does not like >8 scissors mark?
 | 
						||
 | 
						||
Subject: [PATCH] BLAH ONE
 | 
						||
 | 
						||
In real life, we will see a discussion that inspired this patch
 | 
						||
discussing related and unrelated things around >8 scissors mark
 | 
						||
in this part of the message.
 | 
						||
 | 
						||
Subject: [PATCH] BLAH TWO
 | 
						||
 | 
						||
And then we will see the scissors.
 | 
						||
 | 
						||
 This line is not a scissors mark -- >8 -- but talks about it.
 | 
						||
 - - >8 - - please remove everything above this line - - >8 - -
 | 
						||
 | 
						||
Subject: [PATCH] Teach mailinfo to ignore everything before -- >8 -- mark
 | 
						||
From: Junio C Hamano <gitster@pobox.com>
 | 
						||
 | 
						||
This teaches mailinfo the scissors -- >8 -- mark; the command ignores
 | 
						||
everything before it in the message body.
 | 
						||
 | 
						||
Signed-off-by: Junio C Hamano <gitster@pobox.com>
 | 
						||
---
 | 
						||
 builtin-mailinfo.c | 37 ++++++++++++++++++++++++++++++++++++-
 | 
						||
 1 files changed, 36 insertions(+), 1 deletions(-)
 | 
						||
 | 
						||
diff --git a/builtin-mailinfo.c b/builtin-mailinfo.c
 | 
						||
index b0b5d8f..461c47e 100644
 | 
						||
--- a/builtin-mailinfo.c
 | 
						||
+++ b/builtin-mailinfo.c
 | 
						||
@@ -712,6 +712,34 @@ static inline int patchbreak(const struct strbuf *line)
 | 
						||
 	return 0;
 | 
						||
 }
 | 
						||
 
 | 
						||
+static int scissors(const struct strbuf *line)
 | 
						||
+{
 | 
						||
+	size_t i, len = line->len;
 | 
						||
+	int scissors_dashes_seen = 0;
 | 
						||
+	const char *buf = line->buf;
 | 
						||
+
 | 
						||
+	for (i = 0; i < len; i++) {
 | 
						||
+		if (isspace(buf[i]))
 | 
						||
+			continue;
 | 
						||
+		if (buf[i] == '-') {
 | 
						||
+			scissors_dashes_seen |= 02;
 | 
						||
+			continue;
 | 
						||
+		}
 | 
						||
+		if (i + 1 < len && !memcmp(buf + i, ">8", 2)) {
 | 
						||
+			scissors_dashes_seen |= 01;
 | 
						||
+			i++;
 | 
						||
+			continue;
 | 
						||
+		}
 | 
						||
+		if (i + 7 < len && !memcmp(buf + i, "cut here", 8)) {
 | 
						||
+			i += 7;
 | 
						||
+			continue;
 | 
						||
+		}
 | 
						||
+		/* everything else --- not scissors */
 | 
						||
+		break;
 | 
						||
+	}
 | 
						||
+	return scissors_dashes_seen == 03;
 | 
						||
+}
 | 
						||
+
 | 
						||
 static int handle_commit_msg(struct strbuf *line)
 | 
						||
 {
 | 
						||
 	static int still_looking = 1;
 | 
						||
@@ -723,10 +751,17 @@ static int handle_commit_msg(struct strbuf *line)
 | 
						||
 		strbuf_ltrim(line);
 | 
						||
 		if (!line->len)
 | 
						||
 			return 0;
 | 
						||
-		if ((still_looking = check_header(line, s_hdr_data, 0)) != 0)
 | 
						||
+		still_looking = check_header(line, s_hdr_data, 0);
 | 
						||
+		if (still_looking)
 | 
						||
 			return 0;
 | 
						||
 	}
 | 
						||
 
 | 
						||
+	if (scissors(line)) {
 | 
						||
+		fseek(cmitmsg, 0L, SEEK_SET);
 | 
						||
+		still_looking = 1;
 | 
						||
+		return 0;
 | 
						||
+	}
 | 
						||
+
 | 
						||
 	/* normalize the log message to UTF-8. */
 | 
						||
 	if (metainfo_charset)
 | 
						||
 		convert_to_utf8(line, charset.buf);
 | 
						||
-- 
 | 
						||
1.6.4.1
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Subject: check bogus body header (from)
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
 | 
						||
From: bogosity
 | 
						||
  - a list
 | 
						||
  - of stuff
 | 
						||
---
 | 
						||
diff --git a/foo b/foo
 | 
						||
index e69de29..d95f3ad 100644
 | 
						||
--- a/foo
 | 
						||
+++ b/foo
 | 
						||
@@ -0,0 +1 @@
 | 
						||
+content
 | 
						||
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Subject: check bogus body header (date)
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
 | 
						||
Date: bogus
 | 
						||
 | 
						||
and some content
 | 
						||
 | 
						||
---
 | 
						||
diff --git a/foo b/foo
 | 
						||
index e69de29..d95f3ad 100644
 | 
						||
--- a/foo
 | 
						||
+++ b/foo
 | 
						||
@@ -0,0 +1 @@
 | 
						||
+content
 | 
						||
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Subject: A E I O U
 | 
						||
Date: Mon, 17 Sep 2012 14:23:44 -0700
 | 
						||
MIME-Version: 1.0
 | 
						||
Content-Type: text/plain; charset="iso-2022-jp"
 | 
						||
Content-type: text/plain; charset="UTF-8"
 | 
						||
 | 
						||
New content here
 | 
						||
 | 
						||
diff --git a/foo b/foo
 | 
						||
index e69de29..d95f3ad 100644
 | 
						||
--- a/foo
 | 
						||
+++ b/foo
 | 
						||
@@ -0,0 +1 @@
 | 
						||
+New content
 | 
						||
From nobody Mon Sep 17 00:00:00 2001
 | 
						||
From: A U Thor <a.u.thor@example.com>
 | 
						||
Subject: check multiline inbody headers
 | 
						||
Date: Fri, 9 Jun 2006 00:44:16 -0700
 | 
						||
 | 
						||
From: Another Thor
 | 
						||
 <a.thor@example.com>
 | 
						||
Subject: This one contains
 | 
						||
	a tab
 | 
						||
 and a space
 | 
						||
 | 
						||
a commit message
 | 
						||
 | 
						||
diff --git a/foo b/foo
 | 
						||
index e69de29..d95f3ad 100644
 | 
						||
--- a/foo
 | 
						||
+++ b/foo
 | 
						||
@@ -0,0 +1 @@
 | 
						||
+content
 |