All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.