{"thread":{"id":"41633","subject":"[PATCH v2 2/4] t6302: normalize names and descriptions of signed tags","startedAt":"2016-03-07T00:10:23Z","lastAt":"2016-03-17T07:31:53Z","messageCount":9,"participants":["Eric Sunshine","Johannes Schindelin"],"isPatch":true,"patchVersion":2,"patchTotal":4},"messages":[{"id":"280306","messageId":"1457309427-30124-1-git-send-email-sunshine@sunshineco.com","threadId":"41633","inReplyTo":null,"subject":"[PATCH v2 0/4] make t6302 usable even without GPG installed","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2016-03-07T00:10:23Z","receivedAt":"2016-03-07T00:10:23Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"This is a re-roll of [1] which aims to allow t6302 to be run even\nwithout GPG installed. Changes since v1:\n\n* rather than converting existing signed tags to unsigned, make testing\n  of unsigned tags a normal part of the script and just suppress testing\n  of signed tags when GPG is missing (Junio)\n\n* new patch: silence redundant warning about missing GPG\n\n[1]: http://thread.gmane.org/gmane.comp.version-control.git/285170\n\nEric Sunshine (4):\n  lib-gpg: drop unnecessary \"missing GPG\" warning\n  t6302: normalize names and descriptions of signed tags\n  t6302: also test annotated in addition to signed tags\n  t6302: skip only signed tags rather than all tests when GPG is missing\n\n t/lib-gpg.sh                   |  5 +--\n t/t6302-for-each-ref-filter.sh | 95 ++++++++++++++++++++++++++++--------------\n 2 files changed, 65 insertions(+), 35 deletions(-)\n\n-- \n2.8.0.rc1.175.g19dcece\n"},{"id":"280305","messageId":"1457309427-30124-2-git-send-email-sunshine@sunshineco.com","threadId":"41633","inReplyTo":"1457309427-30124-1-git-send-email-sunshine@sunshineco.com","subject":"[PATCH v2 1/4] lib-gpg: drop unnecessary \"missing GPG\" warning","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2016-03-07T00:10:24Z","receivedAt":"2016-03-07T00:10:24Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"When 37d3e85 (t7004: factor out gpg setup, 2011-09-07) pulled gpg\ndetection code out of t7004-tag.sh and turned it into a standard test\nprerequisite, it added an unconditional \"missing GPG\" warning when gpg\nis not detected.\n\nHowever, this is redundant since all tests which require GPG already\nwarn via either 'test_expect_success GPG' (\"skipping: missing GPG\") on a\ntest-by-test basis, or when skipping all tests in a script (\"skipping\nall foobar tests; missing GPG\").  Consequently, the extra warning from\nlib-gpg.sh is unnecessary, so retire it.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\n---\n\nAt first I found this warning alarming and then annoying when changing\nt6302 to skip only signed tag testing (rather than skipping all tests\nentirely). It does seem like a redundant warning, hence this patch...\n\nI also sneaked in a minor style cleanup.\n\n t/lib-gpg.sh | 5 ++---\n 1 file changed, 2 insertions(+), 3 deletions(-)\n\ndiff --git a/t/lib-gpg.sh b/t/lib-gpg.sh\nindex db2ef22..ec2aa8f 100755\n--- a/t/lib-gpg.sh\n+++ b/t/lib-gpg.sh\n@@ -1,9 +1,8 @@\n #!/bin/sh\n \n gpg_version=$(gpg --version 2>&1)\n-if test $? = 127; then\n-\tsay \"You do not seem to have gpg installed\"\n-else\n+if test $? != 127\n+then\n \t# As said here: http://www.gnupg.org/documentation/faqs.html#q6.19\n \t# the gpg version 1.0.6 didn't parse trust packets correctly, so for\n \t# that version, creation of signed tags using the generated key fails.\n-- \n2.8.0.rc1.175.g19dcece\n"},{"id":"280303","messageId":"1457309427-30124-3-git-send-email-sunshine@sunshineco.com","threadId":"41633","inReplyTo":"1457309427-30124-1-git-send-email-sunshine@sunshineco.com","subject":"[PATCH v2 2/4] t6302: normalize names and descriptions of signed tags","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2016-03-07T00:10:25Z","receivedAt":"2016-03-07T00:10:25Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"An upcoming patch will increase test coverage by testing annotated but\nnot signed tags, as well, so normalize names and descriptions of signed\ntags to make it easy to give the upcoming unsigned tags similarly\npatterned names and descriptions.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\n---\n t/t6302-for-each-ref-filter.sh | 30 +++++++++++++++---------------\n 1 file changed, 15 insertions(+), 15 deletions(-)\n\ndiff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh\nindex bcf472b..54a7387 100755\n--- a/t/t6302-for-each-ref-filter.sh\n+++ b/t/t6302-for-each-ref-filter.sh\n@@ -17,8 +17,8 @@ test_expect_success 'setup some history and refs' '\n \ttest_commit three &&\n \tgit checkout -b side &&\n \ttest_commit four &&\n-\tgit tag -s -m \"A signed tag message\" signed-tag &&\n-\tgit tag -s -m \"Annonated doubly\" double-tag signed-tag &&\n+\tgit tag -s -m \"A signed tag\" signed-tag &&\n+\tgit tag -s -m \"Signed doubly\" doubly-signed-tag signed-tag &&\n \tgit checkout master &&\n \tgit update-ref refs/odd/spot master\n '\n@@ -58,7 +58,7 @@ test_expect_success 'filtering with --merged' '\n test_expect_success 'filtering with --no-merged' '\n \tcat >expect <<-\\EOF &&\n \trefs/heads/side\n-\trefs/tags/double-tag\n+\trefs/tags/doubly-signed-tag\n \trefs/tags/four\n \trefs/tags/signed-tag\n \tEOF\n@@ -71,7 +71,7 @@ test_expect_success 'filtering with --contains' '\n \trefs/heads/master\n \trefs/heads/side\n \trefs/odd/spot\n-\trefs/tags/double-tag\n+\trefs/tags/doubly-signed-tag\n \trefs/tags/four\n \trefs/tags/signed-tag\n \trefs/tags/three\n@@ -90,7 +90,7 @@ test_expect_success 'left alignment is default' '\n \trefname is refs/heads/master  |refs/heads/master\n \trefname is refs/heads/side    |refs/heads/side\n \trefname is refs/odd/spot      |refs/odd/spot\n-\trefname is refs/tags/double-tag|refs/tags/double-tag\n+\trefname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag\n \trefname is refs/tags/four     |refs/tags/four\n \trefname is refs/tags/one      |refs/tags/one\n \trefname is refs/tags/signed-tag|refs/tags/signed-tag\n@@ -106,7 +106,7 @@ test_expect_success 'middle alignment' '\n \t| refname is refs/heads/master |refs/heads/master\n \t|  refname is refs/heads/side  |refs/heads/side\n \t|   refname is refs/odd/spot   |refs/odd/spot\n-\t|refname is refs/tags/double-tag|refs/tags/double-tag\n+\t|refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag\n \t|  refname is refs/tags/four   |refs/tags/four\n \t|   refname is refs/tags/one   |refs/tags/one\n \t|refname is refs/tags/signed-tag|refs/tags/signed-tag\n@@ -122,7 +122,7 @@ test_expect_success 'right alignment' '\n \t|  refname is refs/heads/master|refs/heads/master\n \t|    refname is refs/heads/side|refs/heads/side\n \t|      refname is refs/odd/spot|refs/odd/spot\n-\t|refname is refs/tags/double-tag|refs/tags/double-tag\n+\t|refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag\n \t|     refname is refs/tags/four|refs/tags/four\n \t|      refname is refs/tags/one|refs/tags/one\n \t|refname is refs/tags/signed-tag|refs/tags/signed-tag\n@@ -137,7 +137,7 @@ cat >expect <<-\\EOF\n |       refname is refs/heads/master       |refs/heads/master\n |        refname is refs/heads/side        |refs/heads/side\n |         refname is refs/odd/spot         |refs/odd/spot\n-|     refname is refs/tags/double-tag      |refs/tags/double-tag\n+|  refname is refs/tags/doubly-signed-tag  |refs/tags/doubly-signed-tag\n |        refname is refs/tags/four         |refs/tags/four\n |         refname is refs/tags/one         |refs/tags/one\n |     refname is refs/tags/signed-tag      |refs/tags/signed-tag\n@@ -182,7 +182,7 @@ test_expect_success 'alignment with format quote' \"\n \t|'      '\\''master| A U Thor'\\''      '|\n \t|'       '\\''side| A U Thor'\\''       '|\n \t|'     '\\''odd/spot| A U Thor'\\''     '|\n-\t|'        '\\''double-tag| '\\''        '|\n+\t|'    '\\''doubly-signed-tag| '\\''     '|\n \t|'       '\\''four| A U Thor'\\''       '|\n \t|'       '\\''one| A U Thor'\\''        '|\n \t|'        '\\''signed-tag| '\\''        '|\n@@ -198,7 +198,7 @@ test_expect_success 'nested alignment with quote formatting' \"\n \t|'         master               '|\n \t|'           side               '|\n \t|'       odd/spot               '|\n-\t|'     double-tag               '|\n+\t|'doubly-signed-tag             '|\n \t|'           four               '|\n \t|'            one               '|\n \t|'     signed-tag               '|\n@@ -214,10 +214,10 @@ test_expect_success 'check `%(contents:lines=1)`' '\n \tmaster |three\n \tside |four\n \todd/spot |three\n-\tdouble-tag |Annonated doubly\n+\tdoubly-signed-tag |Signed doubly\n \tfour |four\n \tone |one\n-\tsigned-tag |A signed tag message\n+\tsigned-tag |A signed tag\n \tthree |three\n \ttwo |two\n \tEOF\n@@ -230,7 +230,7 @@ test_expect_success 'check `%(contents:lines=0)`' '\n \tmaster |\n \tside |\n \todd/spot |\n-\tdouble-tag |\n+\tdoubly-signed-tag |\n \tfour |\n \tone |\n \tsigned-tag |\n@@ -246,10 +246,10 @@ test_expect_success 'check `%(contents:lines=99999)`' '\n \tmaster |three\n \tside |four\n \todd/spot |three\n-\tdouble-tag |Annonated doubly\n+\tdoubly-signed-tag |Signed doubly\n \tfour |four\n \tone |one\n-\tsigned-tag |A signed tag message\n+\tsigned-tag |A signed tag\n \tthree |three\n \ttwo |two\n \tEOF\n-- \n2.8.0.rc1.175.g19dcece\n"},{"id":"280304","messageId":"1457309427-30124-4-git-send-email-sunshine@sunshineco.com","threadId":"41633","inReplyTo":"1457309427-30124-1-git-send-email-sunshine@sunshineco.com","subject":"[PATCH v2 3/4] t6302: also test annotated in addition to signed tags","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2016-03-07T00:10:26Z","receivedAt":"2016-03-07T00:10:26Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"It is conceivable, if not highly plausible, that a change to the\ngit-for-each-ref code that does the filtering and formatting can become\nbuggy because a payload with GPG signature looks somewhat different from\nwhat is in an annotated but not signed tag. Thus, let's test unsigned\ntags, as well.\n\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\n---\n\nDue either to pragmatism or laziness, I plagiarized Junio's v1 review\ncomment[1] for the commit message.\n\n[1]: http://thread.gmane.org/gmane.comp.version-control.git/285170\n\n t/t6302-for-each-ref-filter.sh | 25 +++++++++++++++++++++++++\n 1 file changed, 25 insertions(+)\n\ndiff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh\nindex 54a7387..2e28559 100755\n--- a/t/t6302-for-each-ref-filter.sh\n+++ b/t/t6302-for-each-ref-filter.sh\n@@ -17,6 +17,8 @@ test_expect_success 'setup some history and refs' '\n \ttest_commit three &&\n \tgit checkout -b side &&\n \ttest_commit four &&\n+\tgit tag -m \"An annotated tag\" annotated-tag &&\n+\tgit tag -m \"Annonated doubly\" doubly-annotated-tag annotated-tag &&\n \tgit tag -s -m \"A signed tag\" signed-tag &&\n \tgit tag -s -m \"Signed doubly\" doubly-signed-tag signed-tag &&\n \tgit checkout master &&\n@@ -36,6 +38,7 @@ test_expect_success 'filtering with --points-at' '\n test_expect_success 'check signed tags with --points-at' '\n \tsed -e \"s/Z$//\" >expect <<-\\EOF &&\n \trefs/heads/side Z\n+\trefs/tags/annotated-tag four\n \trefs/tags/four Z\n \trefs/tags/signed-tag four\n \tEOF\n@@ -58,6 +61,8 @@ test_expect_success 'filtering with --merged' '\n test_expect_success 'filtering with --no-merged' '\n \tcat >expect <<-\\EOF &&\n \trefs/heads/side\n+\trefs/tags/annotated-tag\n+\trefs/tags/doubly-annotated-tag\n \trefs/tags/doubly-signed-tag\n \trefs/tags/four\n \trefs/tags/signed-tag\n@@ -71,6 +76,8 @@ test_expect_success 'filtering with --contains' '\n \trefs/heads/master\n \trefs/heads/side\n \trefs/odd/spot\n+\trefs/tags/annotated-tag\n+\trefs/tags/doubly-annotated-tag\n \trefs/tags/doubly-signed-tag\n \trefs/tags/four\n \trefs/tags/signed-tag\n@@ -90,6 +97,8 @@ test_expect_success 'left alignment is default' '\n \trefname is refs/heads/master  |refs/heads/master\n \trefname is refs/heads/side    |refs/heads/side\n \trefname is refs/odd/spot      |refs/odd/spot\n+\trefname is refs/tags/annotated-tag|refs/tags/annotated-tag\n+\trefname is refs/tags/doubly-annotated-tag|refs/tags/doubly-annotated-tag\n \trefname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag\n \trefname is refs/tags/four     |refs/tags/four\n \trefname is refs/tags/one      |refs/tags/one\n@@ -106,6 +115,8 @@ test_expect_success 'middle alignment' '\n \t| refname is refs/heads/master |refs/heads/master\n \t|  refname is refs/heads/side  |refs/heads/side\n \t|   refname is refs/odd/spot   |refs/odd/spot\n+\t|refname is refs/tags/annotated-tag|refs/tags/annotated-tag\n+\t|refname is refs/tags/doubly-annotated-tag|refs/tags/doubly-annotated-tag\n \t|refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag\n \t|  refname is refs/tags/four   |refs/tags/four\n \t|   refname is refs/tags/one   |refs/tags/one\n@@ -122,6 +133,8 @@ test_expect_success 'right alignment' '\n \t|  refname is refs/heads/master|refs/heads/master\n \t|    refname is refs/heads/side|refs/heads/side\n \t|      refname is refs/odd/spot|refs/odd/spot\n+\t|refname is refs/tags/annotated-tag|refs/tags/annotated-tag\n+\t|refname is refs/tags/doubly-annotated-tag|refs/tags/doubly-annotated-tag\n \t|refname is refs/tags/doubly-signed-tag|refs/tags/doubly-signed-tag\n \t|     refname is refs/tags/four|refs/tags/four\n \t|      refname is refs/tags/one|refs/tags/one\n@@ -137,6 +150,8 @@ cat >expect <<-\\EOF\n |       refname is refs/heads/master       |refs/heads/master\n |        refname is refs/heads/side        |refs/heads/side\n |         refname is refs/odd/spot         |refs/odd/spot\n+|    refname is refs/tags/annotated-tag    |refs/tags/annotated-tag\n+|refname is refs/tags/doubly-annotated-tag |refs/tags/doubly-annotated-tag\n |  refname is refs/tags/doubly-signed-tag  |refs/tags/doubly-signed-tag\n |        refname is refs/tags/four         |refs/tags/four\n |         refname is refs/tags/one         |refs/tags/one\n@@ -182,6 +197,8 @@ test_expect_success 'alignment with format quote' \"\n \t|'      '\\''master| A U Thor'\\''      '|\n \t|'       '\\''side| A U Thor'\\''       '|\n \t|'     '\\''odd/spot| A U Thor'\\''     '|\n+\t|'      '\\''annotated-tag| '\\''       '|\n+\t|'   '\\''doubly-annotated-tag| '\\''   '|\n \t|'    '\\''doubly-signed-tag| '\\''     '|\n \t|'       '\\''four| A U Thor'\\''       '|\n \t|'       '\\''one| A U Thor'\\''        '|\n@@ -198,6 +215,8 @@ test_expect_success 'nested alignment with quote formatting' \"\n \t|'         master               '|\n \t|'           side               '|\n \t|'       odd/spot               '|\n+\t|'  annotated-tag               '|\n+\t|'doubly-annotated-tag          '|\n \t|'doubly-signed-tag             '|\n \t|'           four               '|\n \t|'            one               '|\n@@ -214,6 +233,8 @@ test_expect_success 'check `%(contents:lines=1)`' '\n \tmaster |three\n \tside |four\n \todd/spot |three\n+\tannotated-tag |An annotated tag\n+\tdoubly-annotated-tag |Annonated doubly\n \tdoubly-signed-tag |Signed doubly\n \tfour |four\n \tone |one\n@@ -230,6 +251,8 @@ test_expect_success 'check `%(contents:lines=0)`' '\n \tmaster |\n \tside |\n \todd/spot |\n+\tannotated-tag |\n+\tdoubly-annotated-tag |\n \tdoubly-signed-tag |\n \tfour |\n \tone |\n@@ -246,6 +269,8 @@ test_expect_success 'check `%(contents:lines=99999)`' '\n \tmaster |three\n \tside |four\n \todd/spot |three\n+\tannotated-tag |An annotated tag\n+\tdoubly-annotated-tag |Annonated doubly\n \tdoubly-signed-tag |Signed doubly\n \tfour |four\n \tone |one\n-- \n2.8.0.rc1.175.g19dcece\n"},{"id":"280307","messageId":"1457309427-30124-5-git-send-email-sunshine@sunshineco.com","threadId":"41633","inReplyTo":"1457309427-30124-1-git-send-email-sunshine@sunshineco.com","subject":"[PATCH v2 4/4] t6302: skip only signed tags rather than all tests when GPG is missing","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2016-03-07T00:10:27Z","receivedAt":"2016-03-07T00:10:27Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"The primary purpose of these tests is to check filtering, sorting, and\nformatting behavior of git-for-each-ref, so it is unfortunate that the\nentire test script is skipped when GPG is not present. Rather than\nskipping all tests, let's instead just skip testing against signed tags\nwhen GPG is missing.\n\nHelped-by: Junio C Hamano <gitster@pobox.com>\nSigned-off-by: Eric Sunshine <sunshine@sunshineco.com>\n---\n t/t6302-for-each-ref-filter.sh | 44 ++++++++++++++++++++++++------------------\n 1 file changed, 25 insertions(+), 19 deletions(-)\n\ndiff --git a/t/t6302-for-each-ref-filter.sh b/t/t6302-for-each-ref-filter.sh\nindex 2e28559..70afb44 100755\n--- a/t/t6302-for-each-ref-filter.sh\n+++ b/t/t6302-for-each-ref-filter.sh\n@@ -5,11 +5,14 @@ test_description='test for-each-refs usage of ref-filter APIs'\n . ./test-lib.sh\n . \"$TEST_DIRECTORY\"/lib-gpg.sh\n \n-if ! test_have_prereq GPG\n-then\n-\tskip_all=\"skipping for-each-ref tests, GPG not available\"\n-\ttest_done\n-fi\n+test_prepare_expect () {\n+\tif test_have_prereq GPG\n+\tthen\n+\t\tcat\n+\telse\n+\t\tsed '/signed/d'\n+\tfi\n+}\n \n test_expect_success 'setup some history and refs' '\n \ttest_commit one &&\n@@ -19,8 +22,11 @@ test_expect_success 'setup some history and refs' '\n \ttest_commit four &&\n \tgit tag -m \"An annotated tag\" annotated-tag &&\n \tgit tag -m \"Annonated doubly\" doubly-annotated-tag annotated-tag &&\n-\tgit tag -s -m \"A signed tag\" signed-tag &&\n-\tgit tag -s -m \"Signed doubly\" doubly-signed-tag signed-tag &&\n+\tif test_have_prereq GPG\n+\tthen\n+\t\tgit tag -s -m \"A signed tag\" signed-tag &&\n+\t\tgit tag -s -m \"Signed doubly\" doubly-signed-tag signed-tag\n+\tfi &&\n \tgit checkout master &&\n \tgit update-ref refs/odd/spot master\n '\n@@ -36,7 +42,7 @@ test_expect_success 'filtering with --points-at' '\n '\n \n test_expect_success 'check signed tags with --points-at' '\n-\tsed -e \"s/Z$//\" >expect <<-\\EOF &&\n+\ttest_prepare_expect <<-\\EOF | sed -e \"s/Z$//\" >expect &&\n \trefs/heads/side Z\n \trefs/tags/annotated-tag four\n \trefs/tags/four Z\n@@ -59,7 +65,7 @@ test_expect_success 'filtering with --merged' '\n '\n \n test_expect_success 'filtering with --no-merged' '\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \trefs/heads/side\n \trefs/tags/annotated-tag\n \trefs/tags/doubly-annotated-tag\n@@ -72,7 +78,7 @@ test_expect_success 'filtering with --no-merged' '\n '\n \n test_expect_success 'filtering with --contains' '\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \trefs/heads/master\n \trefs/heads/side\n \trefs/odd/spot\n@@ -93,7 +99,7 @@ test_expect_success '%(color) must fail' '\n '\n \n test_expect_success 'left alignment is default' '\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \trefname is refs/heads/master  |refs/heads/master\n \trefname is refs/heads/side    |refs/heads/side\n \trefname is refs/odd/spot      |refs/odd/spot\n@@ -111,7 +117,7 @@ test_expect_success 'left alignment is default' '\n '\n \n test_expect_success 'middle alignment' '\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \t| refname is refs/heads/master |refs/heads/master\n \t|  refname is refs/heads/side  |refs/heads/side\n \t|   refname is refs/odd/spot   |refs/odd/spot\n@@ -129,7 +135,7 @@ test_expect_success 'middle alignment' '\n '\n \n test_expect_success 'right alignment' '\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \t|  refname is refs/heads/master|refs/heads/master\n \t|    refname is refs/heads/side|refs/heads/side\n \t|      refname is refs/odd/spot|refs/odd/spot\n@@ -146,7 +152,7 @@ test_expect_success 'right alignment' '\n \ttest_cmp expect actual\n '\n \n-cat >expect <<-\\EOF\n+test_prepare_expect >expect <<-\\EOF\n |       refname is refs/heads/master       |refs/heads/master\n |        refname is refs/heads/side        |refs/heads/side\n |         refname is refs/odd/spot         |refs/odd/spot\n@@ -193,7 +199,7 @@ EOF\n # Individual atoms inside %(align:...) and %(end) must not be quoted.\n \n test_expect_success 'alignment with format quote' \"\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \t|'      '\\''master| A U Thor'\\''      '|\n \t|'       '\\''side| A U Thor'\\''       '|\n \t|'     '\\''odd/spot| A U Thor'\\''     '|\n@@ -211,7 +217,7 @@ test_expect_success 'alignment with format quote' \"\n \"\n \n test_expect_success 'nested alignment with quote formatting' \"\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \t|'         master               '|\n \t|'           side               '|\n \t|'       odd/spot               '|\n@@ -229,7 +235,7 @@ test_expect_success 'nested alignment with quote formatting' \"\n \"\n \n test_expect_success 'check `%(contents:lines=1)`' '\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \tmaster |three\n \tside |four\n \todd/spot |three\n@@ -247,7 +253,7 @@ test_expect_success 'check `%(contents:lines=1)`' '\n '\n \n test_expect_success 'check `%(contents:lines=0)`' '\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \tmaster |\n \tside |\n \todd/spot |\n@@ -265,7 +271,7 @@ test_expect_success 'check `%(contents:lines=0)`' '\n '\n \n test_expect_success 'check `%(contents:lines=99999)`' '\n-\tcat >expect <<-\\EOF &&\n+\ttest_prepare_expect >expect <<-\\EOF &&\n \tmaster |three\n \tside |four\n \todd/spot |three\n-- \n2.8.0.rc1.175.g19dcece\n"},{"id":"280826","messageId":"alpine.DEB.2.20.1603152033140.4690@virtualbox","threadId":"41633","inReplyTo":"1457309427-30124-2-git-send-email-sunshine@sunshineco.com","subject":"Re: [PATCH v2 1/4] lib-gpg: drop unnecessary \"missing GPG\" warning","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2016-03-15T19:33:39Z","receivedAt":"2016-03-15T19:33:39Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Eric,\n\nOn Sun, 6 Mar 2016, Eric Sunshine wrote:\n\n> I also sneaked in a minor style cleanup.\n\nIsn't this \"snuck\"?\n\nThe patch is fine.\n\nCiao,\nDscho\n"},{"id":"280827","messageId":"alpine.DEB.2.20.1603152038110.4690@virtualbox","threadId":"41633","inReplyTo":"1457309427-30124-1-git-send-email-sunshine@sunshineco.com","subject":"Re: [PATCH v2 0/4] make t6302 usable even without GPG installed","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2016-03-15T19:38:41Z","receivedAt":"2016-03-15T19:38:41Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Eric,\n\nOn Sun, 6 Mar 2016, Eric Sunshine wrote:\n\n> This is a re-roll of [1] which aims to allow t6302 to be run even\n> without GPG installed.\n\nWhat a beautiful story this patch series tells. Truly a pleasure to\nreview.\n\nThanks!\nDscho\n"},{"id":"280831","messageId":"CAPig+cRqP7jd1VJcGWXUiqHHPnrmeQY7pxpiYa_5joD8-9YNRw@mail.gmail.com","threadId":"41633","inReplyTo":"alpine.DEB.2.20.1603152033140.4690@virtualbox","subject":"Re: [PATCH v2 1/4] lib-gpg: drop unnecessary \"missing GPG\" warning","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2016-03-15T19:50:51Z","receivedAt":"2016-03-15T19:50:51Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Tue, Mar 15, 2016 at 3:33 PM, Johannes Schindelin\n<Johannes.Schindelin@gmx.de> wrote:\n> On Sun, 6 Mar 2016, Eric Sunshine wrote:\n>> I also sneaked in a minor style cleanup.\n>\n> Isn't this \"snuck\"?\n\nI'm no grammarian, but [1] says either would be fine (and we know that\nthe Internet never lies).\n\n[1]: http://grammarist.com/usage/sneaked-snuck/\n"},{"id":"281009","messageId":"CAPig+cR-sPbPy0Y6W5e3O8ocNLuDir2z1+QssagynWieYdG13A@mail.gmail.com","threadId":"41633","inReplyTo":"alpine.DEB.2.20.1603152038110.4690@virtualbox","subject":"Re: [PATCH v2 0/4] make t6302 usable even without GPG installed","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2016-03-17T07:31:53Z","receivedAt":"2016-03-17T07:31:53Z","isPatch":true,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Tue, Mar 15, 2016 at 3:38 PM, Johannes Schindelin\n<Johannes.Schindelin@gmx.de> wrote:\n> On Sun, 6 Mar 2016, Eric Sunshine wrote:\n>> This is a re-roll of [1] which aims to allow t6302 to be run even\n>> without GPG installed.\n>\n> What a beautiful story this patch series tells. Truly a pleasure to\n> review.\n\nThank you for the kind words; I appreciate it.\n"}]}