git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Denton Liu <liu.denton@gmail.com>
To: Git Mailing List <git@vger.kernel.org>
Cc: Eric Sunshine <sunshine@sunshineco.com>,
	Junio C Hamano <gitster@pobox.com>, Jeff King <peff@peff.net>
Subject: [PATCH v2 04/21] t3301: stop losing return codes of git commands
Date: Wed, 20 Nov 2019 16:45:55 -0800	[thread overview]
Message-ID: <e8eafa1551163d89b4c643c8e46c79d6aaa02fb5.1574296987.git.liu.denton@gmail.com> (raw)
In-Reply-To: <cover.1574296987.git.liu.denton@gmail.com>

Currently, there are two ways where the return codes of git commands are
lost. The first way is when a command is in the upstream of a pipe. In a
pipe, only the return code of the last command is used. Thus, all other
commands will have their return codes masked. Rewrite pipes so that
there are no git commands upstream.

The other way is when a command is in a non-assignment command
substitution. The return code will be lost in favour of the surrounding
command's. Rewrite instances of this so that git commands are either run
on their own or in an assignment-only command substitution.

This patch fixes a real buggy test: in 'copy note with "git notes
copy"', `git notes` was mistyped as `git note`.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
---
 t/t3301-notes.sh | 230 +++++++++++++++++++++++++++++++++--------------
 1 file changed, 163 insertions(+), 67 deletions(-)

diff --git a/t/t3301-notes.sh b/t/t3301-notes.sh
index d66a5f6faa..8f43303007 100755
--- a/t/t3301-notes.sh
+++ b/t/t3301-notes.sh
@@ -54,7 +54,9 @@ test_expect_success 'create notes' '
 	test_path_is_missing .git/NOTES_EDITMSG &&
 	git ls-tree -r refs/notes/commits >actual &&
 	test_line_count = 1 actual &&
-	test "b4" = "$(git notes show)" &&
+	echo b4 >expect &&
+	git notes show >actual &&
+	test_cmp expect actual &&
 	git show HEAD^ &&
 	test_must_fail git notes show HEAD^
 '
@@ -79,14 +81,21 @@ test_expect_success 'edit existing notes' '
 	test_path_is_missing .git/NOTES_EDITMSG &&
 	git ls-tree -r refs/notes/commits >actual &&
 	test_line_count = 1 actual &&
-	test "b3" = "$(git notes show)" &&
+	echo b3 >expect &&
+	git notes show >actual &&
+	test_cmp expect actual &&
 	git show HEAD^ &&
 	test_must_fail git notes show HEAD^
 '
 
 test_expect_success 'show notes from treeish' '
-	test "b3" = "$(git notes --ref commits^{tree} show)" &&
-	test "b4" = "$(git notes --ref commits@{1} show)"
+	echo b3 >expect &&
+	git notes --ref commits^{tree} show >actual &&
+	test_cmp expect actual &&
+
+	echo b4 >expect &&
+	git notes --ref commits@{1} show >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'cannot edit notes from non-ref' '
@@ -99,7 +108,9 @@ test_expect_success 'cannot "git notes add -m" where notes already exists' '
 	test_path_is_missing .git/NOTES_EDITMSG &&
 	git ls-tree -r refs/notes/commits >actual &&
 	test_line_count = 1 actual &&
-	test "b3" = "$(git notes show)" &&
+	echo b3 >expect &&
+	git notes show >actual &&
+	test_cmp expect actual &&
 	git show HEAD^ &&
 	test_must_fail git notes show HEAD^
 '
@@ -109,7 +120,9 @@ test_expect_success 'can overwrite existing note with "git notes add -f -m"' '
 	test_path_is_missing .git/NOTES_EDITMSG &&
 	git ls-tree -r refs/notes/commits >actual &&
 	test_line_count = 1 actual &&
-	test "b1" = "$(git notes show)" &&
+	echo b1 >expect &&
+	git notes show >actual &&
+	test_cmp expect actual &&
 	git show HEAD^ &&
 	test_must_fail git notes show HEAD^
 '
@@ -119,7 +132,9 @@ test_expect_success 'add w/no options on existing note morphs into edit' '
 	test_path_is_missing .git/NOTES_EDITMSG &&
 	git ls-tree -r refs/notes/commits >actual &&
 	test_line_count = 1 actual &&
-	test "b2" = "$(git notes show)" &&
+	echo b2 >expect &&
+	git notes show >actual &&
+	test_cmp expect actual &&
 	git show HEAD^ &&
 	test_must_fail git notes show HEAD^
 '
@@ -129,7 +144,9 @@ test_expect_success 'can overwrite existing note with "git notes add -f"' '
 	test_path_is_missing .git/NOTES_EDITMSG &&
 	git ls-tree -r refs/notes/commits >actual &&
 	test_line_count = 1 actual &&
-	test "b1" = "$(git notes show)" &&
+	echo b1 >expect &&
+	git notes show >actual &&
+	test_cmp expect actual &&
 	git show HEAD^ &&
 	test_must_fail git notes show HEAD^
 '
@@ -146,7 +163,8 @@ test_expect_success 'show notes' '
 		Notes:
 		${indent}b1
 	EOF
-	! (git cat-file commit HEAD | grep b1) &&
+	git cat-file commit HEAD >commits &&
+	! grep b1 commits &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -472,9 +490,11 @@ test_expect_success 'removing with --stdin --ignore-missing' '
 test_expect_success 'list notes with "git notes list"' '
 	commit_2=$(git rev-parse 2nd) &&
 	commit_3=$(git rev-parse 3rd) &&
+	note_2=$(git rev-parse refs/notes/commits:$commit_2) &&
+	note_3=$(git rev-parse refs/notes/commits:$commit_3) &&
 	sort -t" " -k2 >expect <<-EOF &&
-		$(git rev-parse refs/notes/commits:$commit_2) $commit_2
-		$(git rev-parse refs/notes/commits:$commit_3) $commit_3
+		$note_2 $commit_2
+		$note_3 $commit_3
 	EOF
 	git notes list >actual &&
 	test_cmp expect actual
@@ -486,9 +506,7 @@ test_expect_success 'list notes with "git notes"' '
 '
 
 test_expect_success 'list specific note with "git notes list <object>"' '
-	cat >expect <<-EOF &&
-		$(git rev-parse refs/notes/commits:$commit_3)
-	EOF
+	git rev-parse refs/notes/commits:$commit_3 >expect &&
 	git notes list HEAD^^ >actual &&
 	test_cmp expect actual
 '
@@ -512,10 +530,11 @@ test_expect_success 'append to existing note with "git notes append"' '
 
 test_expect_success '"git notes list" does not expand to "git notes list HEAD"' '
 	commit_5=$(git rev-parse 5th) &&
+	note_5=$(git rev-parse refs/notes/commits:$commit_5) &&
 	sort -t" " -k2 >expect_list <<-EOF &&
-		$(git rev-parse refs/notes/commits:$commit_2) $commit_2
-		$(git rev-parse refs/notes/commits:$commit_3) $commit_3
-		$(git rev-parse refs/notes/commits:$commit_5) $commit_5
+		$note_2 $commit_2
+		$note_3 $commit_3
+		$note_5 $commit_5
 	EOF
 	git notes list >actual &&
 	test_cmp expect_list actual
@@ -721,7 +740,8 @@ test_expect_success 'Allow notes on non-commits (trees, blobs, tags)' '
 	git notes show HEAD: >actual &&
 	test_cmp expect actual &&
 	echo "Note on a blob" >expect &&
-	filename=$(git ls-tree --name-only HEAD | head -n1) &&
+	git ls-tree --name-only HEAD >files &&
+	filename=$(head -n1 files) &&
 	git notes add -m "Note on a blob" HEAD:$filename &&
 	git notes show HEAD:$filename >actual &&
 	test_cmp expect actual &&
@@ -745,10 +765,13 @@ test_expect_success 'create note from other note with "git notes add -C"' '
 		Notes:
 		${indent}order test
 	EOF
-	git notes add -C $(git notes list HEAD^) &&
+	note=$(git notes list HEAD^) &&
+	git notes add -C $note &&
 	git log -1 >actual &&
 	test_cmp expect actual &&
-	test "$(git notes list HEAD)" = "$(git notes list HEAD^)"
+	git notes list HEAD^ >expect &&
+	git notes list HEAD >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'create note from non-existing note with "git notes add -C" fails' '
@@ -777,11 +800,12 @@ test_expect_success 'create note from blob with "git notes add -C" reuses blob i
 		Notes:
 		${indent}This is a blob object
 	EOF
-	blob=$(echo "This is a blob object" | git hash-object -w --stdin) &&
-	git notes add -C $blob &&
+	echo "This is a blob object" | git hash-object -w --stdin >blob &&
+	git notes add -C $(cat blob) &&
 	git log -1 >actual &&
 	test_cmp expect actual &&
-	test "$(git notes list HEAD)" = "$blob"
+	git notes list HEAD >actual &&
+	test_cmp blob actual
 '
 
 test_expect_success 'create note from other note with "git notes add -c"' '
@@ -797,7 +821,8 @@ test_expect_success 'create note from other note with "git notes add -c"' '
 		Notes:
 		${indent}yet another note
 	EOF
-	MSG="yet another note" git notes add -c $(git notes list HEAD^^) &&
+	note=$(git notes list HEAD^^) &&
+	MSG="yet another note" git notes add -c $note &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -822,7 +847,8 @@ test_expect_success 'append to note from other note with "git notes append -C"'
 		${indent}
 		${indent}yet another note
 	EOF
-	git notes append -C $(git notes list HEAD^) HEAD^ &&
+	note=$(git notes list HEAD^) &&
+	git notes append -C $note HEAD^ &&
 	git log -1 HEAD^ >actual &&
 	test_cmp expect actual
 '
@@ -839,7 +865,8 @@ test_expect_success 'create note from other note with "git notes append -c"' '
 		Notes:
 		${indent}other note
 	EOF
-	MSG="other note" git notes append -c $(git notes list HEAD^) &&
+	note=$(git notes list HEAD^) &&
+	MSG="other note" git notes append -c $note &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -858,7 +885,8 @@ test_expect_success 'append to note from other note with "git notes append -c"'
 		${indent}
 		${indent}yet another note
 	EOF
-	MSG="yet another note" git notes append -c $(git notes list HEAD) &&
+	note=$(git notes list HEAD) &&
+	MSG="yet another note" git notes append -c $note &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -878,7 +906,9 @@ test_expect_success 'copy note with "git notes copy"' '
 	git notes copy 8th 4th &&
 	git log 3rd..4th >actual &&
 	test_cmp expect actual &&
-	test "$(git note list 4th)" = "$(git note list 8th)"
+	git notes list 4th >expect &&
+	git notes list 8th >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'copy note with "git notes copy" with default' '
@@ -899,14 +929,30 @@ test_expect_success 'copy note with "git notes copy" with default' '
 	git notes copy HEAD^ &&
 	git log -1 >actual &&
 	test_cmp expect actual &&
-	test "$(git notes list HEAD)" = "$(git notes list HEAD^)"
+	git notes list HEAD^ >expect &&
+	git notes list HEAD >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'prevent overwrite with "git notes copy"' '
 	test_must_fail git notes copy HEAD~2 HEAD &&
+	cat >expect <<-EOF &&
+		commit $commit
+		Author: A U Thor <author@example.com>
+		Date:   Thu Apr 7 15:23:13 2005 -0700
+
+		${indent}11th
+
+		Notes:
+		${indent}other note
+		${indent}
+		${indent}yet another note
+	EOF
 	git log -1 >actual &&
 	test_cmp expect actual &&
-	test "$(git notes list HEAD)" = "$(git notes list HEAD^)"
+	git notes list HEAD^ >expect &&
+	git notes list HEAD >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'allow overwrite with "git notes copy -f"' '
@@ -924,7 +970,9 @@ test_expect_success 'allow overwrite with "git notes copy -f"' '
 	git notes copy -f HEAD~3 HEAD &&
 	git log -1 >actual &&
 	test_cmp expect actual &&
-	test "$(git notes list HEAD)" = "$(git notes list HEAD~3)"
+	git notes list HEAD~3 >expect &&
+	git notes list HEAD >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'allow overwrite with "git notes copy -f" with default' '
@@ -944,7 +992,9 @@ test_expect_success 'allow overwrite with "git notes copy -f" with default' '
 	git notes copy -f HEAD~2 &&
 	git log -1 >actual &&
 	test_cmp expect actual &&
-	test "$(git notes list HEAD)" = "$(git notes list HEAD~2)"
+	git notes list HEAD~2 >expect &&
+	git notes list HEAD >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'cannot copy note from object without notes' '
@@ -979,13 +1029,21 @@ test_expect_success 'git notes copy --stdin' '
 		${indent}
 		${indent}yet another note
 	EOF
-	(echo $(git rev-parse HEAD~3) $(git rev-parse HEAD^) &&
-	echo $(git rev-parse HEAD~2) $(git rev-parse HEAD)) |
-	git notes copy --stdin &&
+	from=$(git rev-parse HEAD~3) &&
+	to=$(git rev-parse HEAD^) &&
+	echo "$from" "$to" >copy &&
+	from=$(git rev-parse HEAD~2) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >>copy &&
+	git notes copy --stdin <copy &&
 	git log -2 >actual &&
 	test_cmp expect actual &&
-	test "$(git notes list HEAD)" = "$(git notes list HEAD~2)" &&
-	test "$(git notes list HEAD^)" = "$(git notes list HEAD~3)"
+	git notes list HEAD~2 >expect &&
+	git notes list HEAD >actual &&
+	test_cmp expect actual &&
+	git notes list HEAD~3 >expect &&
+	git notes list HEAD^ >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'git notes copy --for-rewrite (unconfigured)' '
@@ -1006,9 +1064,13 @@ test_expect_success 'git notes copy --for-rewrite (unconfigured)' '
 
 		${indent}14th
 	EOF
-	(echo $(git rev-parse HEAD~3) $(git rev-parse HEAD^) &&
-	echo $(git rev-parse HEAD~2) $(git rev-parse HEAD)) |
-	git notes copy --for-rewrite=foo &&
+	from=$(git rev-parse HEAD~3) &&
+	to=$(git rev-parse HEAD^) &&
+	echo "$from" "$to" >copy &&
+	from=$(git rev-parse HEAD~2) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >>copy &&
+	git notes copy --for-rewrite=foo <copy &&
 	git log -2 >actual &&
 	test_cmp expect actual
 '
@@ -1041,17 +1103,23 @@ test_expect_success 'git notes copy --for-rewrite (enabled)' '
 	EOF
 	test_config notes.rewriteMode overwrite &&
 	test_config notes.rewriteRef "refs/notes/*" &&
-	(echo $(git rev-parse HEAD~3) $(git rev-parse HEAD^) &&
-	echo $(git rev-parse HEAD~2) $(git rev-parse HEAD)) |
-	git notes copy --for-rewrite=foo &&
+	from=$(git rev-parse HEAD~3) &&
+	to=$(git rev-parse HEAD^) &&
+	echo "$from" "$to" >copy &&
+	from=$(git rev-parse HEAD~2) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >>copy &&
+	git notes copy --for-rewrite=foo <copy &&
 	git log -2 >actual &&
 	test_cmp expect actual
 '
 
 test_expect_success 'git notes copy --for-rewrite (disabled)' '
 	test_config notes.rewrite.bar false &&
-	echo $(git rev-parse HEAD~3) $(git rev-parse HEAD) |
-	git notes copy --for-rewrite=bar &&
+	from=$(git rev-parse HEAD~3) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >copy &&
+	git notes copy --for-rewrite=bar <copy &&
 	git log -2 >actual &&
 	test_cmp expect actual
 '
@@ -1071,8 +1139,10 @@ test_expect_success 'git notes copy --for-rewrite (overwrite)' '
 	git notes add -f -m"a fresh note" HEAD^ &&
 	test_config notes.rewriteMode overwrite &&
 	test_config notes.rewriteRef "refs/notes/*" &&
-	echo $(git rev-parse HEAD^) $(git rev-parse HEAD) |
-	git notes copy --for-rewrite=foo &&
+	from=$(git rev-parse HEAD^) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >copy &&
+	git notes copy --for-rewrite=foo <copy &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -1080,8 +1150,10 @@ test_expect_success 'git notes copy --for-rewrite (overwrite)' '
 test_expect_success 'git notes copy --for-rewrite (ignore)' '
 	test_config notes.rewriteMode ignore &&
 	test_config notes.rewriteRef "refs/notes/*" &&
-	echo $(git rev-parse HEAD^) $(git rev-parse HEAD) |
-	git notes copy --for-rewrite=foo &&
+	from=$(git rev-parse HEAD^) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >copy &&
+	git notes copy --for-rewrite=foo <copy &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -1103,8 +1175,10 @@ test_expect_success 'git notes copy --for-rewrite (append)' '
 	git notes add -f -m"another fresh note" HEAD^ &&
 	test_config notes.rewriteMode concatenate &&
 	test_config notes.rewriteRef "refs/notes/*" &&
-	echo $(git rev-parse HEAD^) $(git rev-parse HEAD) |
-	git notes copy --for-rewrite=foo &&
+	from=$(git rev-parse HEAD^) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >copy &&
+	git notes copy --for-rewrite=foo <copy &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -1131,9 +1205,13 @@ test_expect_success 'git notes copy --for-rewrite (append two to one)' '
 	git notes add -f -m"append 2" HEAD^^ &&
 	test_config notes.rewriteMode concatenate &&
 	test_config notes.rewriteRef "refs/notes/*" &&
-	(echo $(git rev-parse HEAD^) $(git rev-parse HEAD) &&
-	echo $(git rev-parse HEAD^^) $(git rev-parse HEAD)) |
-	git notes copy --for-rewrite=foo &&
+	from=$(git rev-parse HEAD^) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >copy &&
+	from=$(git rev-parse HEAD^^) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >>copy &&
+	git notes copy --for-rewrite=foo <copy &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -1142,8 +1220,10 @@ test_expect_success 'git notes copy --for-rewrite (append empty)' '
 	git notes remove HEAD^ &&
 	test_config notes.rewriteMode concatenate &&
 	test_config notes.rewriteRef "refs/notes/*" &&
-	echo $(git rev-parse HEAD^) $(git rev-parse HEAD) |
-	git notes copy --for-rewrite=foo &&
+	from=$(git rev-parse HEAD^) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >copy &&
+	git notes copy --for-rewrite=foo <copy &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -1163,8 +1243,10 @@ test_expect_success 'GIT_NOTES_REWRITE_MODE works' '
 	test_config notes.rewriteMode concatenate &&
 	test_config notes.rewriteRef "refs/notes/*" &&
 	git notes add -f -m"replacement note 1" HEAD^ &&
-	echo $(git rev-parse HEAD^) $(git rev-parse HEAD) |
-	GIT_NOTES_REWRITE_MODE=overwrite git notes copy --for-rewrite=foo &&
+	from=$(git rev-parse HEAD^) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >copy &&
+	GIT_NOTES_REWRITE_MODE=overwrite git notes copy --for-rewrite=foo <copy &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -1184,9 +1266,11 @@ test_expect_success 'GIT_NOTES_REWRITE_REF works' '
 	git notes add -f -m"replacement note 2" HEAD^ &&
 	test_config notes.rewriteMode overwrite &&
 	test_unconfig notes.rewriteRef &&
-	echo $(git rev-parse HEAD^) $(git rev-parse HEAD) |
+	from=$(git rev-parse HEAD^) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >copy &&
 	GIT_NOTES_REWRITE_REF=refs/notes/commits:refs/notes/other \
-		git notes copy --for-rewrite=foo &&
+		git notes copy --for-rewrite=foo <copy &&
 	git log -1 >actual &&
 	test_cmp expect actual
 '
@@ -1195,9 +1279,11 @@ test_expect_success 'GIT_NOTES_REWRITE_REF overrides config' '
 	git notes add -f -m"replacement note 3" HEAD^ &&
 	test_config notes.rewriteMode overwrite &&
 	test_config notes.rewriteRef refs/notes/other &&
-	echo $(git rev-parse HEAD^) $(git rev-parse HEAD) |
+	from=$(git rev-parse HEAD^) &&
+	to=$(git rev-parse HEAD) &&
+	echo "$from" "$to" >copy &&
 	GIT_NOTES_REWRITE_REF=refs/notes/commits \
-		git notes copy --for-rewrite=foo &&
+		git notes copy --for-rewrite=foo <copy &&
 	git log -1 >actual &&
 	grep "replacement note 3" actual
 '
@@ -1212,26 +1298,36 @@ test_expect_success 'git notes copy diagnoses too many or too few parameters' '
 test_expect_success 'git notes get-ref expands refs/heads/master to refs/notes/refs/heads/master' '
 	test_unconfig core.notesRef &&
 	sane_unset GIT_NOTES_REF &&
-	test "$(git notes --ref=refs/heads/master get-ref)" = "refs/notes/refs/heads/master"
+	echo refs/notes/refs/heads/master >expect &&
+	git notes --ref=refs/heads/master get-ref >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'git notes get-ref (no overrides)' '
 	test_unconfig core.notesRef &&
 	sane_unset GIT_NOTES_REF &&
-	test "$(git notes get-ref)" = "refs/notes/commits"
+	echo refs/notes/commits >expect &&
+	git notes get-ref >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'git notes get-ref (core.notesRef)' '
 	test_config core.notesRef refs/notes/foo &&
-	test "$(git notes get-ref)" = "refs/notes/foo"
+	echo refs/notes/foo >expect &&
+	git notes get-ref >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'git notes get-ref (GIT_NOTES_REF)' '
-	test "$(GIT_NOTES_REF=refs/notes/bar git notes get-ref)" = "refs/notes/bar"
+	echo refs/notes/bar >expect &&
+	GIT_NOTES_REF=refs/notes/bar git notes get-ref >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'git notes get-ref (--ref)' '
-	test "$(GIT_NOTES_REF=refs/notes/bar git notes --ref=baz get-ref)" = "refs/notes/baz"
+	echo refs/notes/baz >expect &&
+	GIT_NOTES_REF=refs/notes/bar git notes --ref=baz get-ref >actual &&
+	test_cmp expect actual
 '
 
 test_expect_success 'setup testing of empty notes' '
-- 
2.24.0.450.g7a9a4598a9


  parent reply	other threads:[~2019-11-21  0:46 UTC|newest]

Thread overview: 228+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-15  1:00 [PATCH 00/27] t: general test cleanup + `set -o pipefail` Denton Liu
2019-11-15  1:00 ` [PATCH 01/27] lib-bash.sh: move `then` onto its own line Denton Liu
2019-11-15 18:22   ` Eric Sunshine
2019-11-16  2:50     ` Junio C Hamano
2019-11-15  1:00 ` [PATCH 02/27] t0014: remove git command upstream of pipe Denton Liu
2019-11-15  1:00 ` [PATCH 03/27] t0090: stop losing return codes of git commands Denton Liu
2019-11-15  1:00 ` [PATCH 04/27] t3301: " Denton Liu
2019-11-15  1:00 ` [PATCH 05/27] t3600: use test_line_count() where possible Denton Liu
2019-11-15  1:00 ` [PATCH 06/27] t3600: stop losing return codes of git commands Denton Liu
2019-11-15  1:00 ` [PATCH 07/27] t3600: comment on inducing SIGPIPE in `git rm` Denton Liu
2019-11-15  1:00 ` [PATCH 08/27] t4015: stop losing return codes of git commands Denton Liu
2019-11-15  1:00 ` [PATCH 09/27] t4015: use test_write_lines() Denton Liu
2019-11-15  1:00 ` [PATCH 10/27] t4138: stop losing return codes of git commands Denton Liu
2019-11-16  9:00   ` Eric Sunshine
2019-11-15  1:00 ` [PATCH 11/27] t5317: " Denton Liu
2019-11-15  1:00 ` [PATCH 12/27] t5317: use ! grep to check for no matching lines Denton Liu
2019-11-16  9:27   ` Eric Sunshine
2019-11-15  1:01 ` [PATCH 13/27] t5703: stop losing return codes of git commands Denton Liu
2019-11-16 10:11   ` Eric Sunshine
2019-11-15  1:01 ` [PATCH 14/27] t7501: remove spaces after redirect operators Denton Liu
2019-11-15  1:01 ` [PATCH 15/27] t7501: stop losing return codes of git commands Denton Liu
2019-11-16 10:35   ` Eric Sunshine
2019-11-15  1:01 ` [PATCH 16/27] t7700: drop redirections to /dev/null Denton Liu
2019-11-15  1:01 ` [PATCH 17/27] t7700: remove spaces after redirect operators Denton Liu
2019-11-15  1:01 ` [PATCH 18/27] t7700: move keywords onto their own line Denton Liu
2019-11-15  1:01 ` [PATCH 19/27] t7700: s/test -f/test_path_is_file/ Denton Liu
2019-11-15  1:01 ` [PATCH 20/27] t7700: stop losing return codes of git commands Denton Liu
2019-11-15  1:01 ` [PATCH 21/27] t: define test_grep_return_success() Denton Liu
2019-11-15  5:26   ` Junio C Hamano
2019-11-15  1:01 ` [PATCH 22/27] t0090: mask failing grep status Denton Liu
2019-11-15  1:01 ` [PATCH 23/27] t3600: mark git command as failing Denton Liu
2019-11-15  5:35   ` Junio C Hamano
2019-11-15  1:01 ` [PATCH 24/27] t5004: ignore SIGPIPE in zipinfo Denton Liu
2019-11-15  5:36   ` Junio C Hamano
2019-11-15  1:01 ` [PATCH 25/27] t5703: mask failing grep status Denton Liu
2019-11-15  1:01 ` [PATCH 26/27] t9902: disable pipefail Denton Liu
2019-11-15  1:01 ` [PATCH 27/27] t: run tests with `set -o pipefail` on Bash Denton Liu
2019-11-15  4:09 ` [PATCH 00/27] t: general test cleanup + `set -o pipefail` Jeff King
2021-01-14 23:35   ` [PATCH 0/6] tests: add a bash "set -o pipefail" test mode Ævar Arnfjörð Bjarmason
2021-01-16 15:35     ` [PATCH v2 00/11] " Ævar Arnfjörð Bjarmason
2021-01-16 21:50       ` Junio C Hamano
2021-01-17 16:50       ` Jeff King
2021-01-16 15:35     ` [PATCH v2 01/11] cache-tree tests: remove unused $2 parameter Ævar Arnfjörð Bjarmason
2021-01-16 15:35     ` [PATCH v2 02/11] cache-tree tests: use a sub-shell with less indirection Ævar Arnfjörð Bjarmason
2021-01-17 16:55       ` Jeff King
2021-01-17 22:23         ` Eric Sunshine
2021-01-17 23:37         ` Junio C Hamano
2021-01-16 15:35     ` [PATCH v2 03/11] cache-tree tests: refactor overly complex function Ævar Arnfjörð Bjarmason
2021-01-16 21:51       ` Junio C Hamano
2021-01-16 15:35     ` [PATCH v2 04/11] git svn mergeinfo tests: modernize redirection & quoting style Ævar Arnfjörð Bjarmason
2021-01-16 21:51       ` Junio C Hamano
2021-01-16 15:35     ` [PATCH v2 05/11] git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty Ævar Arnfjörð Bjarmason
2021-01-16 15:35     ` [PATCH v2 06/11] git-svn tests: rewrite brittle tests to use "--[no-]merges" Ævar Arnfjörð Bjarmason
2021-01-16 21:51       ` Junio C Hamano
2021-01-17 16:47       ` Jeff King
2021-01-16 15:35     ` [PATCH v2 07/11] rm tests: actually test for SIGPIPE in SIGPIPE test Ævar Arnfjörð Bjarmason
2021-01-16 15:35     ` [PATCH v2 08/11] upload-pack tests: avoid a non-zero "grep" exit status Ævar Arnfjörð Bjarmason
2021-01-16 21:48       ` Junio C Hamano
2021-01-16 15:35     ` [PATCH v2 09/11] archive tests: use a cheaper "zipinfo -h" invocation to get header Ævar Arnfjörð Bjarmason
2021-01-17 17:08       ` Jeff King
2021-01-16 15:35     ` [PATCH v2 10/11] tests: split up bash detection library Ævar Arnfjörð Bjarmason
2021-01-16 15:35     ` [PATCH v2 11/11] tests: add a "set -o pipefail" for a patched bash Ævar Arnfjörð Bjarmason
2021-01-20 13:04       ` SZEDER Gábor
2021-01-23  3:46       ` Junio C Hamano
2021-01-23  7:37         ` Junio C Hamano
2021-01-23  9:32           ` Ævar Arnfjörð Bjarmason
2021-01-23 13:00             ` [PATCH v3 00/10] Miscellaneous "set -o pipefail"-related test cleanups Ævar Arnfjörð Bjarmason
2021-01-23 13:00             ` [PATCH v3 01/10] cache-tree tests: refactor for modern test style Ævar Arnfjörð Bjarmason
2021-01-23 21:34               ` Junio C Hamano
2021-01-23 13:00             ` [PATCH v3 02/10] cache-tree tests: remove unused $2 parameter Ævar Arnfjörð Bjarmason
2021-01-23 21:35               ` Junio C Hamano
2021-01-23 13:00             ` [PATCH v3 03/10] cache-tree tests: use a sub-shell with less indirection Ævar Arnfjörð Bjarmason
2021-01-23 21:35               ` Junio C Hamano
2021-01-23 13:00             ` [PATCH v3 04/10] cache-tree tests: explicitly test HEAD and index differences Ævar Arnfjörð Bjarmason
2021-01-23 13:00             ` [PATCH v3 05/10] git svn mergeinfo tests: modernize redirection & quoting style Ævar Arnfjörð Bjarmason
2021-01-23 13:00             ` [PATCH v3 06/10] git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty Ævar Arnfjörð Bjarmason
2021-01-23 13:00             ` [PATCH v3 07/10] git-svn tests: rewrite brittle tests to use "--[no-]merges" Ævar Arnfjörð Bjarmason
2021-01-23 13:00             ` [PATCH v3 08/10] upload-pack tests: avoid a non-zero "grep" exit status Ævar Arnfjörð Bjarmason
2021-01-23 13:00             ` [PATCH v3 09/10] archive tests: use a cheaper "zipinfo -h" invocation to get header Ævar Arnfjörð Bjarmason
2021-01-23 13:00             ` [PATCH v3 10/10] rm tests: actually test for SIGPIPE in SIGPIPE test Ævar Arnfjörð Bjarmason
2021-01-23  9:40         ` [PATCH v2 11/11] tests: add a "set -o pipefail" for a patched bash Ævar Arnfjörð Bjarmason
2021-01-14 23:35   ` [PATCH 1/6] test-lib: add tests for test_might_fail Ævar Arnfjörð Bjarmason
2021-01-15  9:36     ` Jeff King
2021-01-16 14:41       ` [PATCH] " Ævar Arnfjörð Bjarmason
2021-01-17 16:48         ` Jeff King
2021-01-14 23:35   ` [PATCH 2/6] test-lib: add ok=* support to test_might_fail Ævar Arnfjörð Bjarmason
2021-01-14 23:35   ` [PATCH 3/6] test_lib: allow test_{must,might}_fail to accept non-git on "sigpipe" Ævar Arnfjörð Bjarmason
2021-01-15  8:15     ` Denton Liu
2021-01-15  9:39       ` Ævar Arnfjörð Bjarmason
2021-01-15 10:00         ` Jeff King
2021-01-14 23:35   ` [PATCH 4/6] tests: use "test_might_fail ok=sigpipe grep" when appropriate Ævar Arnfjörð Bjarmason
2021-01-15  9:14     ` Ævar Arnfjörð Bjarmason
2021-01-15  9:48       ` Jeff King
2021-01-14 23:35   ` [PATCH 5/6] tests: split up bash detection library Ævar Arnfjörð Bjarmason
2021-01-15  9:42     ` Ævar Arnfjörð Bjarmason
2021-01-14 23:35   ` [PATCH 6/6] tests: add a "set -o pipefail" for a patched bash Ævar Arnfjörð Bjarmason
2021-01-15 10:04     ` Jeff King
2019-11-21  0:45 ` [PATCH v2 00/21] t: test cleanup stemming from experimentally enabling pipefail Denton Liu
2019-11-21  0:45   ` [PATCH v2 01/21] lib-bash.sh: move `then` onto its own line Denton Liu
2019-11-21  0:45   ` [PATCH v2 02/21] t0014: remove git command upstream of pipe Denton Liu
2019-11-21  0:45   ` [PATCH v2 03/21] t0090: stop losing return codes of git commands Denton Liu
2019-11-21  0:45   ` Denton Liu [this message]
2019-11-21  0:45   ` [PATCH v2 05/21] t3600: use test_line_count() where possible Denton Liu
2019-11-21  0:46   ` [PATCH v2 06/21] t3600: stop losing return codes of git commands Denton Liu
2019-11-21  0:46   ` [PATCH v2 07/21] t3600: comment on inducing SIGPIPE in `git rm` Denton Liu
2019-11-21  0:46   ` [PATCH v2 08/21] t4015: stop losing return codes of git commands Denton Liu
2019-11-21  0:46   ` [PATCH v2 09/21] t4015: use test_write_lines() Denton Liu
2019-11-21  0:46   ` [PATCH v2 10/21] t4138: stop losing return codes of git commands Denton Liu
2019-11-21  0:46   ` [PATCH v2 11/21] t5317: " Denton Liu
2019-11-21  0:46   ` [PATCH v2 12/21] t5317: use ! grep to check for no matching lines Denton Liu
2019-11-21 12:59     ` Eric Sunshine
2019-11-21  0:46   ` [PATCH v2 13/21] t5703: simplify one-time-sed generation logic Denton Liu
2019-11-21 13:12     ` Eric Sunshine
2019-11-21 23:22       ` Denton Liu
2019-11-21  0:46   ` [PATCH v2 14/21] t5703: stop losing return codes of git commands Denton Liu
2019-11-21  0:46   ` [PATCH v2 15/21] t7501: remove spaces after redirect operators Denton Liu
2019-11-21  0:46   ` [PATCH v2 16/21] t7501: stop losing return codes of git commands Denton Liu
2019-11-21  0:46   ` [PATCH v2 17/21] t7700: drop redirections to /dev/null Denton Liu
2019-11-21  0:46   ` [PATCH v2 18/21] t7700: remove spaces after redirect operators Denton Liu
2019-11-21  0:46   ` [PATCH v2 19/21] t7700: move keywords onto their own line Denton Liu
2019-11-21  0:46   ` [PATCH v2 20/21] t7700: s/test -f/test_path_is_file/ Denton Liu
2019-11-21  0:46   ` [PATCH v2 21/21] t7700: stop losing return codes of git commands Denton Liu
2019-11-22 18:59   ` [PATCH v3 00/22] t: test cleanup stemming from experimentally enabling pipefail Denton Liu
2019-11-22 18:59     ` [PATCH v3 01/22] lib-bash.sh: move `then` onto its own line Denton Liu
2019-11-22 18:59     ` [PATCH v3 02/22] apply-one-time-sed.sh: modernize style Denton Liu
2019-11-23  1:32       ` Junio C Hamano
2019-11-22 18:59     ` [PATCH v3 03/22] t0014: remove git command upstream of pipe Denton Liu
2019-11-22 18:59     ` [PATCH v3 04/22] t0090: stop losing return codes of git commands Denton Liu
2019-11-22 18:59     ` [PATCH v3 05/22] t3301: " Denton Liu
2019-11-22 18:59     ` [PATCH v3 06/22] t3600: use test_line_count() where possible Denton Liu
2019-11-22 18:59     ` [PATCH v3 07/22] t3600: stop losing return codes of git commands Denton Liu
2019-11-22 19:00     ` [PATCH v3 08/22] t3600: comment on inducing SIGPIPE in `git rm` Denton Liu
2019-11-22 19:00     ` [PATCH v3 09/22] t4015: stop losing return codes of git commands Denton Liu
2019-11-22 19:00     ` [PATCH v3 10/22] t4015: use test_write_lines() Denton Liu
2019-11-22 19:00     ` [PATCH v3 11/22] t4138: stop losing return codes of git commands Denton Liu
2019-11-22 19:00     ` [PATCH v3 12/22] t5317: " Denton Liu
2019-11-22 19:00     ` [PATCH v3 13/22] t5317: use ! grep to check for no matching lines Denton Liu
2019-11-23  6:21       ` Eric Sunshine
2019-11-25 21:43         ` Denton Liu
2019-11-22 19:00     ` [PATCH v3 14/22] t5703: simplify one-time-sed generation logic Denton Liu
2019-11-22 19:00     ` [PATCH v3 15/22] t5703: stop losing return codes of git commands Denton Liu
2019-11-22 19:00     ` [PATCH v3 16/22] t7501: remove spaces after redirect operators Denton Liu
2019-11-22 19:00     ` [PATCH v3 17/22] t7501: stop losing return codes of git commands Denton Liu
2019-11-22 19:00     ` [PATCH v3 18/22] t7700: drop redirections to /dev/null Denton Liu
2019-11-22 19:00     ` [PATCH v3 19/22] t7700: remove spaces after redirect operators Denton Liu
2019-11-22 19:00     ` [PATCH v3 20/22] t7700: move keywords onto their own line Denton Liu
2019-11-22 19:00     ` [PATCH v3 21/22] t7700: s/test -f/test_path_is_file/ Denton Liu
2019-11-22 19:00     ` [PATCH v3 22/22] t7700: stop losing return codes of git commands Denton Liu
2019-11-23  1:49       ` Junio C Hamano
2019-11-25 23:57         ` Denton Liu
2019-11-26  0:58           ` Eric Sunshine
2019-11-26  1:34             ` Junio C Hamano
2019-11-26  4:47               ` Denton Liu
2019-11-26  1:17     ` [PATCH v4 00/27] t: test cleanup stemming from experimentally enabling pipefail Denton Liu
2019-11-26  1:17       ` [PATCH v4 01/27] lib-bash.sh: move `then` onto its own line Denton Liu
2019-11-26  1:17       ` [PATCH v4 02/27] apply-one-time-sed.sh: modernize style Denton Liu
2019-11-26  1:17       ` [PATCH v4 03/27] t0014: remove git command upstream of pipe Denton Liu
2019-11-26  1:17       ` [PATCH v4 04/27] t0090: stop losing return codes of git commands Denton Liu
2019-11-26  1:17       ` [PATCH v4 05/27] t3301: " Denton Liu
2019-11-26  1:17       ` [PATCH v4 06/27] t3600: use test_line_count() where possible Denton Liu
2019-11-26  1:18       ` [PATCH v4 07/27] t3600: stop losing return codes of git commands Denton Liu
2019-11-26  1:18       ` [PATCH v4 08/27] t3600: comment on inducing SIGPIPE in `git rm` Denton Liu
2019-11-26  1:18       ` [PATCH v4 09/27] t4015: stop losing return codes of git commands Denton Liu
2019-11-26  1:18       ` [PATCH v4 10/27] t4015: use test_write_lines() Denton Liu
2019-11-26  1:18       ` [PATCH v4 11/27] t4138: stop losing return codes of git commands Denton Liu
2019-11-26  1:18       ` [PATCH v4 12/27] t5317: " Denton Liu
2019-11-26  1:18       ` [PATCH v4 13/27] t5317: use ! grep to check for no matching lines Denton Liu
2019-11-26  1:18       ` [PATCH v4 14/27] t5703: simplify one-time-sed generation logic Denton Liu
2019-11-26  1:18       ` [PATCH v4 15/27] t5703: stop losing return codes of git commands Denton Liu
2019-11-26  1:18       ` [PATCH v4 16/27] t7501: remove spaces after redirect operators Denton Liu
2019-11-26  1:18       ` [PATCH v4 17/27] t7501: stop losing return codes of git commands Denton Liu
2019-11-26  1:18       ` [PATCH v4 18/27] t7700: drop redirections to /dev/null Denton Liu
2019-11-26  1:18       ` [PATCH v4 19/27] t7700: remove spaces after redirect operators Denton Liu
2019-11-26  1:18       ` [PATCH v4 20/27] t7700: move keywords onto their own line Denton Liu
2019-11-26  1:18       ` [PATCH v4 21/27] t7700: s/test -f/test_path_is_file/ Denton Liu
2019-11-26  1:18       ` [PATCH v4 22/27] t7700: consolidate code into test_no_missing_in_packs() Denton Liu
2019-11-26  2:35         ` Eric Sunshine
2019-11-26  1:18       ` [PATCH v4 23/27] squash! " Denton Liu
2019-11-26  1:18       ` [PATCH v4 24/27] t7700: consolidate code into test_has_duplicate_object() Denton Liu
2019-11-26  1:18       ` [PATCH v4 25/27] t7700: replace egrep with grep Denton Liu
2019-11-26  1:18       ` [PATCH v4 26/27] t7700: make references to SHA-1 generic Denton Liu
2019-11-26  3:15         ` Eric Sunshine
2019-11-26  1:18       ` [PATCH v4 27/27] t7700: stop losing return codes of git commands Denton Liu
2019-11-27 19:53       ` [PATCH v5 00/26] t: test cleanup stemming from experimentally enabling pipefail Denton Liu
2019-11-27 19:53         ` [PATCH v5 01/26] lib-bash.sh: move `then` onto its own line Denton Liu
2019-11-27 19:53         ` [PATCH v5 02/26] apply-one-time-sed.sh: modernize style Denton Liu
2019-11-27 19:53         ` [PATCH v5 03/26] t0014: remove git command upstream of pipe Denton Liu
2019-11-27 19:53         ` [PATCH v5 04/26] t0090: stop losing return codes of git commands Denton Liu
2019-11-27 19:53         ` [PATCH v5 05/26] t3301: " Denton Liu
2019-11-27 19:53         ` [PATCH v5 06/26] t3600: use test_line_count() where possible Denton Liu
2019-11-27 19:53         ` [PATCH v5 07/26] t3600: stop losing return codes of git commands Denton Liu
2019-11-27 19:53         ` [PATCH v5 08/26] t3600: comment on inducing SIGPIPE in `git rm` Denton Liu
2019-11-27 19:53         ` [PATCH v5 09/26] t4015: stop losing return codes of git commands Denton Liu
2019-11-27 19:53         ` [PATCH v5 10/26] t4015: use test_write_lines() Denton Liu
2019-11-27 19:53         ` [PATCH v5 11/26] t4138: stop losing return codes of git commands Denton Liu
2019-11-27 19:53         ` [PATCH v5 12/26] t5317: " Denton Liu
2019-11-27 19:53         ` [PATCH v5 13/26] t5317: use ! grep to check for no matching lines Denton Liu
2019-11-27 19:53         ` [PATCH v5 14/26] t5703: simplify one-time-sed generation logic Denton Liu
2019-11-27 19:53         ` [PATCH v5 15/26] t5703: stop losing return codes of git commands Denton Liu
2019-11-27 19:53         ` [PATCH v5 16/26] t7501: remove spaces after redirect operators Denton Liu
2019-11-27 19:53         ` [PATCH v5 17/26] t7501: stop losing return codes of git commands Denton Liu
2019-11-27 19:53         ` [PATCH v5 18/26] t7700: drop redirections to /dev/null Denton Liu
2019-11-27 19:53         ` [PATCH v5 19/26] t7700: remove spaces after redirect operators Denton Liu
2019-11-27 19:53         ` [PATCH v5 20/26] t7700: move keywords onto their own line Denton Liu
2019-11-27 19:53         ` [PATCH v5 21/26] t7700: s/test -f/test_path_is_file/ Denton Liu
2019-11-27 19:53         ` [PATCH v5 22/26] t7700: consolidate code into test_no_missing_in_packs() Denton Liu
2019-11-29 21:39           ` Junio C Hamano
2019-12-02 20:50             ` Denton Liu
2019-12-02 22:53               ` Junio C Hamano
2019-12-02 23:28                 ` Denton Liu
2019-12-03 15:41                   ` Junio C Hamano
2019-12-04  7:24                     ` Denton Liu
2019-12-04 18:13                       ` Junio C Hamano
2019-12-04 22:03                         ` [PATCH v6 0/5] t: test cleanup stemming from experimentally enabling pipefail Denton Liu
2019-12-04 22:03                           ` [PATCH v6 1/5] t7700: consolidate code into test_no_missing_in_packs() Denton Liu
2019-12-04 22:03                           ` [PATCH v6 2/5] t7700: consolidate code into test_has_duplicate_object() Denton Liu
2019-12-04 22:03                           ` [PATCH v6 3/5] t7700: replace egrep with grep Denton Liu
2019-12-04 22:03                           ` [PATCH v6 4/5] t7700: make references to SHA-1 generic Denton Liu
2019-12-04 22:03                           ` [PATCH v6 5/5] t7700: stop losing return codes of git commands Denton Liu
2019-12-04 22:07                           ` [PATCH v6 0/5] t: test cleanup stemming from experimentally enabling pipefail Junio C Hamano
2019-11-27 19:53         ` [PATCH v5 23/26] t7700: consolidate code into test_has_duplicate_object() Denton Liu
2019-11-27 19:53         ` [PATCH v5 24/26] t7700: replace egrep with grep Denton Liu
2019-11-27 19:54         ` [PATCH v5 25/26] t7700: make references to SHA-1 generic Denton Liu
2019-11-27 19:54         ` [PATCH v5 26/26] t7700: stop losing return codes of git commands Denton Liu
2019-11-30 10:48           ` Danh Doan
2019-11-30 11:31             ` Eric Sunshine
2019-11-30 17:00               ` Junio C Hamano
2019-12-04 12:59                 ` t: remove inappropriate uses of test_must_fail(), was " Denton Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e8eafa1551163d89b4c643c8e46c79d6aaa02fb5.1574296987.git.liu.denton@gmail.com \
    --to=liu.denton@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).