All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Couder <christian.couder@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>, Jeff King <peff@peff.net>,
	Christian Couder <chriscool@tuxfamily.org>
Subject: [PATCH v4 0/3] Add support for %(contents:size) in ref-filter
Date: Fri, 10 Jul 2020 18:47:36 +0200	[thread overview]
Message-ID: <20200710164739.6616-1-chriscool@tuxfamily.org> (raw)
In-Reply-To: <20200707174049.21714-1-chriscool@tuxfamily.org>

This is version 4 of a small patch series to teach ref-filter about
%(contents:size).

This patch series is based on master at 4a0fcf9f76 (The seventh batch,
2020-07-06).

Previous versions and related discussions are there:

V1: https://lore.kernel.org/git/20200701132308.16691-1-chriscool@tuxfamily.org/
V2: https://lore.kernel.org/git/20200702140845.24945-1-chriscool@tuxfamily.org/
V3: https://lore.kernel.org/git/20200707174049.21714-1-chriscool@tuxfamily.org/

Thanks to Junio and Peff for their reviews of this series!

The changes compared to V3 are the following:

  - Squashed patches 1/4 and 2/4 into 1/3 as they were both about
    %(contents) related doc improvements.

  - Improved patch 1/3 as suggested by Junio.

  - Simplified setup test in patch 2/3 about creating a ref pointing
    to a blob as suggested by Junio.

  - Modified test_atom() in patch 3/3 to automatically test
    %(contents:size) after testing %(contents) as suggested by Junio.

The range diff is:

1:  b04b390f32 ! 1:  f750832fc7 Documentation: clarify %(contents:XXXX) doc
    @@ Commit message
         Let's avoid a big dense paragraph by using an unordered
         list for the %(contents:XXXX) format specifiers.
     
    +    While at it let's also make the following improvements:
    +
    +      - Let's not describe %(contents) using "complete message"
    +        as it's not clear what an incomplete message is.
    +
    +      - Let's improve how the "subject" and "body" are
    +        described.
    +
    +      - Let's state that "signature" is only available for
    +        tag objects.
    +
         Suggested-by: Jeff King <peff@peff.net>
         Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
     
    @@ Documentation/git-for-each-ref.txt: Fields that have name-email-date tuple as it
     -line is `contents:body`, where body is all of the lines after the first
     -blank line.  The optional GPG signature is `contents:signature`.  The
     -first `N` lines of the message is obtained using `contents:lines=N`.
    -+The complete message of a commit or tag object is `contents`. This
    -+field can also be used in the following ways:
    ++The message in a commit or a tag object is `contents`, from which
    ++`contents:<part>` can be used to extract various parts out of:
     +
     +contents:subject::
    -+  The "subject" of the commit or tag message.  It's actually the
    -+  concatenation of all lines of the commit message up to the
    -+  first blank line.
    ++  The first paragraph of the message, which typically is a
    ++  single line, is taken as the "subject" of the commit or the
    ++  tag message.
     +
     +contents:body::
    -+  The "body" of the commit or tag message.  It's made of the
    -+  lines after the first blank line.
    ++  The remainder of the commit or the tag message that follows
    ++  the "subject".
     +
     +contents:signature::
    -+  The optional GPG signature.
    ++  The optional GPG signature of the tag.
     +
     +contents:lines=N::
     +  The first `N` lines of the message.
2:  b62cab2630 < -:  ---------- Documentation: clarify 'complete message'
3:  b9584472a1 ! 2:  51c72e09d2 t6300: test refs pointing to tree and blob
    @@ t/t6300-for-each-ref.sh: test_atom refs/tags/signed-long contents "subject line
      
     +test_expect_success 'set up refs pointing to tree and blob' '
     +  git update-ref refs/mytrees/first refs/heads/master^{tree} &&
    -+  git ls-tree refs/mytrees/first one >one_info &&
    -+  test $(cut -d" " -f2 one_info) = "blob" &&
    -+  blob_hash=$(cut "-d     " -f1 one_info | cut -d" " -f3) &&
    -+  git update-ref refs/myblobs/first "$blob_hash"
    ++  git update-ref refs/myblobs/first refs/heads/master:one
     +'
     +
     +test_atom refs/mytrees/first subject ""
4:  23f941132e < -:  ---------- ref-filter: add support for %(contents:size)
-:  ---------- > 3:  c2ed3e228b ref-filter: add support for %(contents:size)

Christian Couder (3):
  Documentation: clarify %(contents:XXXX) doc
  t6300: test refs pointing to tree and blob
  ref-filter: add support for %(contents:size)

 Documentation/git-for-each-ref.txt | 27 ++++++++++++++++-----
 ref-filter.c                       |  7 +++++-
 t/t6300-for-each-ref.sh            | 38 ++++++++++++++++++++++++++++++
 3 files changed, 65 insertions(+), 7 deletions(-)

-- 
2.27.0.347.gb620d8b0da


  parent reply	other threads:[~2020-07-10 16:48 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-07 17:40 [PATCH v3 0/4] Add support for %(contents:size) in ref-filter Christian Couder
2020-07-07 17:40 ` [PATCH v3 1/4] Documentation: clarify %(contents:XXXX) doc Christian Couder
2020-07-07 19:26   ` Junio C Hamano
2020-07-10 16:47     ` Christian Couder
2020-07-07 17:40 ` [PATCH v3 2/4] Documentation: clarify 'complete message' Christian Couder
2020-07-07 19:19   ` Junio C Hamano
2020-07-07 17:40 ` [PATCH v3 3/4] t6300: test refs pointing to tree and blob Christian Couder
2020-07-07 19:32   ` Junio C Hamano
2020-07-07 17:40 ` [PATCH v3 4/4] ref-filter: add support for %(contents:size) Christian Couder
2020-07-07 19:45   ` Junio C Hamano
2020-07-09  0:14     ` Junio C Hamano
2020-07-09  8:10       ` Christian Couder
2020-07-09 13:47         ` Junio C Hamano
2020-07-07 22:21   ` Junio C Hamano
2020-07-08 23:05   ` Junio C Hamano
2020-07-10 16:47 ` Christian Couder [this message]
2020-07-10 16:47   ` [PATCH v4 1/3] Documentation: clarify %(contents:XXXX) doc Christian Couder
2020-07-10 20:24     ` Junio C Hamano
2020-07-10 16:47   ` [PATCH v4 2/3] t6300: test refs pointing to tree and blob Christian Couder
2020-07-10 20:24     ` Junio C Hamano
2020-07-10 16:47   ` [PATCH v4 3/3] ref-filter: add support for %(contents:size) Christian Couder
2020-07-10 20:38     ` Junio C Hamano
2020-07-16 12:19   ` [PATCH v5 0/3] Add support for %(contents:size) in ref-filter Christian Couder
2020-07-16 12:19     ` [PATCH v5 1/3] Documentation: clarify %(contents:XXXX) doc Christian Couder
2020-07-16 12:19     ` [PATCH v5 2/3] t6300: test refs pointing to tree and blob Christian Couder
2020-07-16 12:19     ` [PATCH v5 3/3] ref-filter: add support for %(contents:size) Christian Couder
2020-07-31 17:37       ` Alban Gruin
2020-07-31 17:45         ` [PATCH v1] t6300: fix issues related to %(contents:size) Alban Gruin
2020-07-31 17:47           ` Jeff King
2020-07-31 18:24             ` Alban Gruin
2020-07-31 20:04             ` Junio C Hamano
2020-07-31 20:30               ` Jeff King
2020-07-31 18:26           ` [PATCH v2] " Alban Gruin
2020-07-31 19:15             ` Jeff King
2020-07-31 17:45         ` [PATCH v5 3/3] ref-filter: add support for %(contents:size) Jeff King
2020-07-31 20:12           ` Christian Couder
2020-07-31 20:30             ` Junio C Hamano
2020-07-31 20:40               ` Jeff King
2020-07-16 17:48     ` [PATCH v5 0/3] Add support for %(contents:size) in ref-filter Junio C Hamano

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=20200710164739.6616-1-chriscool@tuxfamily.org \
    --to=christian.couder@gmail.com \
    --cc=chriscool@tuxfamily.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    /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.