git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 1/5] Add more tests for format-patch

From
Daniel Barkalow <barkalow@iabervon.org>
Date
Feb 19, 2008, 03:56 UTC
Message-ID
<alpine.LNX.1.00.0802182254000.5816@iabervon.org>
In-Reply-To
<cover.1203392527.git.barkalow@iabervon.org>

Tests -o, and an excessively long subject, and --thread, with and without --in-reply-to=

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
---
 t/t4014-format-patch.sh |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)
diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
index 0a6fe53..6e8b5f4 100755
--- a/t/t4014-format-patch.sh
+++ b/t/t4014-format-patch.sh
@@ -88,4 +88,49 @@ test_expect_success 'replay did not screw up the log message' '
 
 '
 
+test_expect_success 'multiple files' '
+
+	rm -rf patches/ &&
+	git checkout side &&
+	git format-patch -o patches/ master &&
+	ls patches/0001-Side-changes-1.patch patches/0002-Side-changes-2.patch patches/0003-Side-changes-3-with-n-backslash-n-in-it.patch
+'
+
+test_expect_success 'thread' '
+
+	rm -rf patches/ &&
+	git checkout side &&
+	git format-patch --thread -o patches/ master &&
+	FIRST_MID=$(grep "Message-Id:" patches/0001-* | sed "s/^[^<]*\(<[^>]*>\).*$/\1/") &&
+	for i in patches/0002-* patches/0003-*
+	do
+	  grep "References: $FIRST_MID" $i &&
+	  grep "In-Reply-To: $FIRST_MID" $i
+	done
+'
+
+test_expect_success 'thread in-reply-to' '
+
+	rm -rf patches/ &&
+	git checkout side &&
+	git format-patch --in-reply-to="<test.message>" --thread -o patches/ master &&
+	FIRST_MID="<test.message>" &&
+	for i in patches/*
+	do
+	  grep "References: $FIRST_MID" $i &&
+	  grep "In-Reply-To: $FIRST_MID" $i
+	done
+'
+
+test_expect_success 'excessive subject' '
+
+	rm -rf patches/ &&
+	git checkout side &&
+	for i in 5 6 1 2 3 A 4 B C 7 8 9 10 D E F; do echo "$i"; done >>file &&
+	git update-index file &&
+	git commit -m "This is an excessively long subject line for a message due to the habit some projects have of not having a short, one-line subject at the start of the commit message, but rather sticking a whole paragraph right at the start as the only thing in the commit message. It had better not become the filename for the patch." &&
+	git format-patch -o patches/ master..side &&
+	ls patches/0004-This-is-an-excessively-long-subject-line-for-a-messa.patch
+'
+
 test_done
-- 
1.5.4.1.191.gfbf10
Next: Daniel Barkalow
Message 1 of 12 in “Add more tests for format-patch”
  1. 1/5 Add more tests for format-patchDaniel Barkalow, Feb 19, 2008
  2. 2/5 Improve message-id generation flow control for format-patchDaniel Barkalow, Feb 19, 2008
  3. Johannes SchindelinFeb 19, 2008
  4. Daniel BarkalowFeb 19, 2008
  5. Johannes SchindelinFeb 19, 2008
  6. 3/5 Export some email and pretty-printing functionsDaniel Barkalow, Feb 19, 2008
  7. Johannes SchindelinFeb 19, 2008
  8. Daniel BarkalowFeb 19, 2008
  9. 4/5 Retain extra blank lines between the summary and the bodyDaniel Barkalow, Feb 19, 2008
  10. 5/5 Add a --cover-letter option to format-patchDaniel Barkalow, Feb 19, 2008
  11. Junio C HamanoFeb 20, 2008
  12. Daniel BarkalowFeb 20, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.