git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v4 0/3] Add mailmap mechanism in cat-file options

From
Siddharth Asthana <siddharthasthana31@gmail.com>
Date
Nov 13, 2022, 21:28 UTC
Message-ID
<20221113212830.92609-1-siddharthasthana31@gmail.com>
In-Reply-To
<20220916205946.178925-1-siddharthasthana31@gmail.com>

Thanks a lot Junio, Taylor and Christian for the review :) I have made the suggested changes.

= Description

At present, `git-cat-file` command with `--batch-check` and `-s` options does not complain when `--use-mailmap` option is given. The latter option is just ignored. Instead, for commit/tag objects, the command should compute the size of the object after replacing the idents and report it. So, this patch series makes `-s` and `--batch-check` options of `git-cat-file` honor mailmap when used with `--use-mailmap` option.

In this patch series we didn't want to change that '%(objectsize)' always shows the size of the original object even when `--use-mailmap` is set because first we have the long term plan to unify how the formats for `git cat-file` and other commands works. And second existing formats like the "pretty formats" used bt `git log` have different options for fields respecting mailmap or not respecting it (%an is for author name while %aN for author name respecting mailmap).

I would like to thank my mentors, Christian Couder and John Cai, for all of their help! Looking forward to the reviews!

= Patch Organization
- The first patch makes `-s` option to return updated size of the
  <commit/tag> object, when combined with `--use-mailmap` option, after
  replacing the idents using the mailmap mechanism.
- The second patch makes `--batch-check` option to return updated size of
  the <commit/tag> object, when combined with `--use-mailmap` option,
  after replacing the idents using the mailmap mechanism.
- The third patch improves the documentation of `-s`, `--batch`,
  `--batch-check` and `--batch-command` options by adding they can be
  combined with `--use-mailmap` options.
= Changes in v4
- Improve the documentation patch to clearly state that the `-s`,
  `--batch-check`, `--batch-command` and `--batch` options can be only
  be used with `--textconv`, `--filters` or `--use-mailmap`.
Siddharth Asthana (3):
  cat-file: add mailmap support to -s option
  cat-file: add mailmap support to --batch-check option
  doc/cat-file: allow --use-mailmap for --batch options
 Documentation/git-cat-file.txt | 53 ++++++++++++++++++++++--------
 builtin/cat-file.c             | 27 ++++++++++++++++
 t/t4203-mailmap.sh             | 59 ++++++++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+), 14 deletions(-)
Range-diff against v3:
1:  38bb89d350 ! 1:  4ae3af37d2 cat-file: add mailmap support to -s option
    @@ Commit message
     
         Mentored-by: Christian Couder <christian.couder@gmail.com>
         Mentored-by: John Cai <johncai86@gmail.com>
    +    Helped-by: Taylor Blau <me@ttaylorr.com>
    +    Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Siddharth Asthana <siddharthasthana31@gmail.com>
     
    - ## Documentation/git-cat-file.txt ##
    -@@ Documentation/git-cat-file.txt: OPTIONS
    - 
    - -s::
    - 	Instead of the content, show the object size identified by
    --	`<object>`.
    -+	`<object>`. If used with `--use-mailmap` option, will show the
    -+	size of updated object after replacing idents using the mailmap
    -+	mechanism.
    - 
    - -e::
    - 	Exit with zero status if `<object>` exists and is a valid
    -
      ## builtin/cat-file.c ##
     @@ builtin/cat-file.c: static int cat_one_file(int opt, const char *exp_type, const char *obj_name,
      
2:  4d49cfde73 ! 2:  a692646228 cat-file: add mailmap support to --batch-check option
    @@ Commit message
     
         Mentored-by: Christian Couder <christian.couder@gmail.com>
         Mentored-by: John Cai <johncai86@gmail.com>
    +    Helped-by: Taylor Blau <me@ttaylorr.com>
    +    Helped-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
         Signed-off-by: Siddharth Asthana <siddharthasthana31@gmail.com>
     
    - ## Documentation/git-cat-file.txt ##
    -@@ Documentation/git-cat-file.txt: OPTIONS
    - 	except `--textconv` or `--filters`, in which case the input lines
    - 	also need to specify the path, separated by whitespace.  See the
    - 	section `BATCH OUTPUT` below for details.
    -+	If used with `--use-mailmap` option, will show the size of
    -+	updated object after replacing idents using the mailmap mechanism.
    - 
    - --batch-check::
    - --batch-check=<format>::
    -
      ## builtin/cat-file.c ##
     @@ builtin/cat-file.c: static void batch_object_write(const char *obj_name,
      	if (!data->skip_object_info) {
-:  ---------- > 3:  41b4650b24 doc/cat-file: allow --use-mailmap for --batch options
-- 
2.38.1.420.g319605f8f0
Previous: Taylor BlauNext: Siddharth Asthana
Message 19 of 44 in “Add mailmap mechanism in --batch-check options”
  1. 0/3 Add mailmap mechanism in --batch-check optionsSiddharth Asthana, Sep 16, 2022
  2. 2/3 cat-file: add mailmap support to -s optionSiddharth Asthana, Sep 16, 2022
  3. Junio C HamanoSep 16, 2022
  4. 1/3 doc/cat-file: allow --use-mailmap for --batch optionsSiddharth Asthana, Sep 16, 2022
  5. Junio C HamanoSep 16, 2022
  6. 3/3 cat-file: add mailmap support to --batch-check optionSiddharth Asthana, Sep 16, 2022
  7. Junio C HamanoSep 16, 2022
  8. 0/2 Add mailmap mechanism in cat-file optionsSiddharth Asthana, Sep 26, 2022
  9. 1/2 cat-file: add mailmap support to -s optionSiddharth Asthana, Sep 26, 2022
  10. Ævar Arnfjörð BjarmasonSep 26, 2022
  11. Ævar Arnfjörð BjarmasonSep 26, 2022
  12. 2/2 cat-file: add mailmap support to --batch-check optionSiddharth Asthana, Sep 26, 2022
  13. 0/2 Add mailmap mechanism in cat-file optionsSiddharth Asthana, Oct 29, 2022
  14. 1/2 cat-file: add mailmap support to -s optionSiddharth Asthana, Oct 29, 2022
  15. Christian CouderOct 31, 2022
  16. 2/2 cat-file: add mailmap support to --batch-check optionSiddharth Asthana, Oct 29, 2022
  17. Christian CouderOct 31, 2022
  18. Taylor BlauOct 29, 2022
  19. 0/3 Add mailmap mechanism in cat-file optionsSiddharth Asthana, Nov 13, 2022
  20. 1/3 cat-file: add mailmap support to -s optionSiddharth Asthana, Nov 13, 2022
  21. 2/3 cat-file: add mailmap support to --batch-check optionSiddharth Asthana, Nov 13, 2022
  22. Taylor BlauNov 15, 2022
  23. 3/3 doc/cat-file: allow --use-mailmap for --batch optionsSiddharth Asthana, Nov 13, 2022
  24. Christian CouderNov 14, 2022
  25. Taylor BlauNov 14, 2022
  26. Siddharth AsthanaNov 20, 2022
  27. 0/2 Add mailmap mechanism in cat-file optionsSiddharth Asthana, Nov 20, 2022
  28. 1/2 cat-file: add mailmap support to -s optionSiddharth Asthana, Nov 20, 2022
  29. Junio C HamanoNov 21, 2022
  30. Christian CouderNov 21, 2022
  31. Junio C HamanoNov 21, 2022
  32. Ævar Arnfjörð BjarmasonNov 21, 2022
  33. 2/2 cat-file: add mailmap support to --batch-check optionSiddharth Asthana, Nov 20, 2022
  34. Junio C HamanoNov 21, 2022
  35. Junio C HamanoNov 30, 2022
  36. 0/2 Add mailmap mechanism in cat-file optionsSiddharth Asthana, Dec 1, 2022
  37. 1/2 cat-file: add mailmap support to -s optionSiddharth Asthana, Dec 1, 2022
  38. 2/2 cat-file: add mailmap support to --batch-check optionSiddharth Asthana, Dec 1, 2022
  39. Ævar Arnfjörð BjarmasonDec 14, 2022
  40. Christian CouderDec 14, 2022
  41. 0/2 Add mailmap mechanism in cat-file optionsSiddharth Asthana, Dec 20, 2022
  42. 1/2 cat-file: add mailmap support to -s optionSiddharth Asthana, Dec 20, 2022
  43. 2/2 cat-file: add mailmap support to --batch-check optionSiddharth Asthana, Dec 20, 2022
  44. Ævar Arnfjörð BjarmasonDec 20, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.