git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kousik Sanagavarapu <five231003@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>,
	Kousik Sanagavarapu <five231003@gmail.com>
Subject: [PATCH v2 0/3] Add mailmap support to ref-filter
Date: Mon, 25 Sep 2023 23:13:07 +0530	[thread overview]
Message-ID: <20230925175050.3498-1-five231003@gmail.com> (raw)
In-Reply-To: <20230920191654.6133-1-five231003@gmail.com>

Thanks Junio for review on the previous round.

PATCH 1/3 - Cleanup test_atom to be less error-prone

PATCH 2/3 - Fix hidden breakage

PATCH 3/3 - Unchanged

Kousik Sanagavarapu (3):
  t/t6300: cleanup test_atom
  t/t6300: introduce test_bad_atom
  ref-filter: add mailmap support

 Documentation/git-for-each-ref.txt |   6 +-
 ref-filter.c                       | 152 ++++++++++++++++++++++-------
 t/t6300-for-each-ref.sh            | 123 +++++++++++++++++++++--
 3 files changed, 239 insertions(+), 42 deletions(-)

Range-diff against v1:

-:  ---------- > 1:  b28e858e35 t/t6300: cleanup test_atom
1:  0a90b67889 ! 2:  ee90d017d5 t/t6300: introduce test_bad_atom()
    @@ Metadata
     Author: Kousik Sanagavarapu <five231003@gmail.com>

      ## Commit message ##
    -    t/t6300: introduce test_bad_atom()
    +    t/t6300: introduce test_bad_atom

    -    Introduce a new function "test_bad_atom()", which is similar to
    +    Introduce a new function "test_bad_atom", which is similar to
         "test_atom()" but should be used to check whether the correct error
         message is shown on stderr.

    -    Like "test_atom()", the new function takes three arguments. The three
    +    Like "test_atom", the new function takes three arguments. The three
         arguments specify the ref, the format and the expected error message
         respectively, with an optional fourth argument for tweaking
         "test_expect_*" (which is by default "success").
    @@ t/t6300-for-each-ref.sh: test_expect_success 'arguments to %(objectname:short=)
        test_must_fail git for-each-ref --format="%(objectname:short=foo)"
      '

    -+test_bad_atom() {
    ++test_bad_atom () {
     +  case "$1" in
     +  head) ref=refs/heads/main ;;
     +   tag) ref=refs/tags/testtag ;;
     +   sym) ref=refs/heads/sym ;;
     +     *) ref=$1 ;;
     +  esac
    -+  printf '%s\n' "$3">expect
    -+  test_expect_${4:-success} $PREREQ "err basic atom: $1 $2" "
    -+          test_must_fail git for-each-ref --format='%($2)' $ref 2>actual &&
    -+          test_cmp expect actual
    -+  "
    ++  format=$2
    ++  test_do=test_expect_${4:-success}
    ++
    ++  printf '%s\n' "$3" >expect
    ++  $test_do $PREREQ "err basic atom: $ref $format" '
    ++          test_must_fail git for-each-ref \
    ++                  --format="%($format)" "$ref" 2>error &&
    ++          test_cmp expect error
    ++  '
     +}
     +
     +test_bad_atom head 'authoremail:foo' \
     +  'fatal: unrecognized %(authoremail) argument: foo'
     +
     +test_bad_atom tag 'taggeremail:localpart trim' \
    -+  'fatal: unrecognized %(taggeremail) argument:  trim'
    ++  'fatal: unrecognized %(taggeremail) argument: localpart trim'
     +
      test_date () {
        f=$1 &&
2:  63fc69f4dc ! 3:  fdc14fe80b ref-filter: add mailmap support
    @@ t/t6300-for-each-ref.sh: test_atom tag '*objectname' $(git rev-parse refs/tags/t
      test_atom tag taggerdate 'Tue Jul 4 01:18:45 2006 +0200'
      test_atom tag creator 'C O Mitter <committer@example.com> 1151968725 +0200'
      test_atom tag creatordate 'Tue Jul 4 01:18:45 2006 +0200'
    -@@ t/t6300-for-each-ref.sh: test_bad_atom() {
    +@@ t/t6300-for-each-ref.sh: test_bad_atom () {
      test_bad_atom head 'authoremail:foo' \
        'fatal: unrecognized %(authoremail) argument: foo'

    @@ t/t6300-for-each-ref.sh: test_bad_atom() {
     +  'fatal: unrecognized %(taggeremail) argument: ;localpart trim'
     +
      test_bad_atom tag 'taggeremail:localpart trim' \
    -   'fatal: unrecognized %(taggeremail) argument:  trim'
    -
    +-  'fatal: unrecognized %(taggeremail) argument: localpart trim'
    ++  'fatal: unrecognized %(taggeremail) argument:  trim'
    ++
     +test_bad_atom tag 'taggeremail:mailmap,mailmap,trim,qux,localpart,trim' \
     +  'fatal: unrecognized %(taggeremail) argument: qux,localpart,trim'
    -+
    +
      test_date () {
        f=$1 &&
    -   committer_date=$2 &&

-- 
2.42.0.273.ge948a9aaf4


  parent reply	other threads:[~2023-09-25 17:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-20 19:05 [PATCH 0/2] Add mailmap support to ref-filter Kousik Sanagavarapu
2023-09-20 19:05 ` [PATCH 1/2] t/t6300: introduce test_bad_atom() Kousik Sanagavarapu
2023-09-20 22:56   ` Junio C Hamano
2023-09-20 23:09     ` Junio C Hamano
2023-09-20 23:21     ` Junio C Hamano
2023-09-21 18:57     ` Kousik Sanagavarapu
2023-09-20 19:05 ` [PATCH 2/2] ref-filter: add mailmap support Kousik Sanagavarapu
2023-09-25 17:43 ` Kousik Sanagavarapu [this message]
2023-09-25 17:43   ` [PATCH v2 1/3] t/t6300: cleanup test_atom Kousik Sanagavarapu
2023-09-25 17:43   ` [PATCH v2 2/3] t/t6300: introduce test_bad_atom Kousik Sanagavarapu
2023-09-25 17:43   ` [PATCH v2 3/3] ref-filter: add mailmap support Kousik Sanagavarapu

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

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

  git send-email \
    --in-reply-to=20230925175050.3498-1-five231003@gmail.com \
    --to=five231003@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.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.
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 NNTP newsgroup(s).