git/t/t5100/sample.mbox

    
	
    
From nobody Mon Sep 17 00:00:00 2001
From: A (zzz)
      U
      Thor
      <[email protected]> (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 <[email protected]>
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 <[email protected]>
Subject: foo is too old
Message-ID: <[email protected]>

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 <[email protected]>
Date: Fri, 9 Jun 2006 00:44:16 -0700
Subject: re: [PATCH] another patch

From: A U Thor <[email protected]>
Subject: [PATCH] third patch

Here is a patch from A U Thor.  This addresses the issue raised in the
message:

From: Nit Picker <[email protected]>
Subject: foo is too old
Message-ID: <[email protected]>

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: <[email protected]>
From: YOSHIFUJI Hideaki / =?ISO-2022-JP?B?GyRCNUhGIzFRTEAbKEI=?= 
	<[email protected]>
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: [email protected]
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: [email protected]
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 <[email protected]>

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  <[email protected]>
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: <[email protected]>
From: =?ISO8859-1?Q?David_K=E5gedal?= <[email protected]>
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: [email protected]
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: [email protected]
NNTP-Posting-Date: Mon, 15 Aug 2005 18:24:07 +0000 (UTC)
Cc: "Junio C. Hamano" <[email protected]>
Original-X-From: [email protected] 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 <[email protected]>
---

 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

From nobody Mon Sep 17 00:00:00 2001
From: A U Thor <[email protected]>
References: <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: Fri, 9 Jun 2006 00:44:16 -0700
Subject: re: [PATCH] another patch

From: A U Thor <[email protected]>
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 <[email protected]>
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 <[email protected]>
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?= <[email protected]>
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 <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
---
 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 <[email protected]>
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 [email protected] Wed Nov 12 17:54:41 2008
From: Dmitriy Blinov <[email protected]>
To: [email protected]
Date: Wed, 12 Nov 2008 17:54:41 +0300
Message-ID: <[email protected]>
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 <[email protected]>
---
 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: <[email protected]> (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 <[email protected]>
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 <[email protected]>

This teaches mailinfo the scissors -- >8 -- mark; the command ignores
everything before it in the message body.

Signed-off-by: Junio C Hamano <[email protected]>
---
 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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Subject: check multiline inbody headers
Date: Fri, 9 Jun 2006 00:44:16 -0700

From: Another Thor
 <[email protected]>
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