git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Elijah Newren <newren@gmail.com>
To: Christian Couder <christian.couder@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Patrick Steinhardt <ps@pks.im>,
	 Luke Shumaker <lukeshu@lukeshu.com>, Jeff King <peff@peff.net>,
	 Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Taylor Blau <me@ttaylorr.com>,
	 "brian m . carlson" <sandals@crustytoothpaste.net>,
	Eric Sunshine <sunshine@sunshineco.com>,
	 Phillip Wood <phillip.wood123@gmail.com>
Subject: Re: [PATCH v6 0/6] fast-export, fast-import: add support for signed-commits
Date: Mon, 10 Mar 2025 15:36:21 -0700	[thread overview]
Message-ID: <CABPp-BGyA8iBA0BFO8FcpZAMca94aVu2vHHRi4Oz=nCWxJSDPg@mail.gmail.com> (raw)
In-Reply-To: <20250310155746.879481-1-christian.couder@gmail.com>

Hi Christian,

On Mon, Mar 10, 2025 at 8:58 AM Christian Couder
<christian.couder@gmail.com> wrote:
>
> Luke Shumaker sent the first 4 versions of this series in April 2021,
> but it looks like he stopped before it got merged. Let's finish
> polishing it.
>
> Goal of this series
> ~~~~~~~~~~~~~~~~~~~
>
> fast-export has an existing --signed-tags= option that controls how to
> handle tag signatures.  However, there is no equivalent for commit
> signatures; it just silently strips the signature out of the commit
> (analogously to --signed-tags=strip).
>
> So implement a --signed-commits= flag in fast-export, and implement
> the receiving side of it in fast-import.
>
> Big picture goal
> ~~~~~~~~~~~~~~~~
>
> Independent from these --signed-tags/--signed-commits options
> addressed in this series, we want to have an option, that allows the
> person who performed the import to attest to the result by adding
> their own signature on tags and commits, whether these tags and
> commits were originally signed or not.
>
> This series lays the groundwork for that future option by upstreaming
> the earlier effort started by Luke Shumaker and stops there. Future
> follow-up work will build on it towards the big picture goal.
>
> Overview of the changes since v5
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> There is no real code change since v5, only a commit message, the
> documentation and some code comments are improved.
>
> Details of the changes since v5
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>   - Rebased on top of current 'master' branch at a36e024e98 (Merge
>     branch 'js/win-2.49-build-fixes', 2025-03-06). This is to get a
>     base as close as possible to v2.49.0 final.
>
>   - In patch 4/6 the commit message subject started with
>     "git-fast-export.txt:" instead of "git-fast-export.adoc" which has
>     been fixed.
>
>   - In patch 4/6 the documentation for `--signed-tags` in
>     "Documentation/git-fast-export.adoc" is improved to better explain
>     when it makes sense to use 'verbatim' and 'warn-verbatim', thanks
>     to Elijah.
>
>   - In patch 6/6 the documentation for `--signed-commits` in
>     "Documentation/git-fast-export.adoc" now spells out that its
>     default is 'abort', thanks to Elijah.
>
>   - In patch 6/6 a code comment in front of
>     find_commit_multiline_header() in "builtin/fast-export.c" has been
>     improved:
>
>       - a "rathar" vs "rather" typo has been fixed, thanks to Elijah,
>
>       - what should be done to the memory returned by the function has
>         been corrected, thanks to Phillip Wood.
>
> CI tests
> ~~~~~~~~
>
> All the CI tests passed, except perhaps the osx-gcc one which isn't
> finished yet, see:
>
> https://github.com/chriscool/git/actions/runs/13767984505
>
> Range diff compared to version 5
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> 1:  f97247e17d = 1:  395dc9b1d9 git-fast-import.adoc: add missing LF in the BNF
> 2:  b71588563d = 2:  6265fd51aa fast-export: fix missing whitespace after switch
> 3:  947bc267e6 = 3:  9e290bab22 fast-export: rename --signed-tags='warn' to 'warn-verbatim'
> 4:  45087db345 ! 4:  923885134f git-fast-export.txt: clarify why 'verbatim' may not be a good idea
>     @@ Metadata
>      Author: Luke Shumaker <lukeshu@datawire.io>
>
>       ## Commit message ##
>     -    git-fast-export.txt: clarify why 'verbatim' may not be a good idea
>     +    git-fast-export.adoc: clarify why 'verbatim' may not be a good idea
>
>          Signed-off-by: Luke Shumaker <lukeshu@datawire.io>
>          Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
>     @@ Documentation/git-fast-export.adoc: OPTIONS
>       exported and with 'warn-verbatim' (or 'warn', a deprecated synonym),
>      -they will be exported, but you will see a warning.
>      +they will be exported, but you will see a warning.  'verbatim' and
>     -+'warn-verbatim' should only be used if you know that no
>     -+transformation affecting tags will be performed, or if you do not
>     -+care that the resulting tag will have an invalid signature.
>     ++'warn-verbatim' should only be used if you know that no transformation
>     ++affecting tags or any commit in their history will be performed by you
>     ++or by fast-export or fast-import, or if you do not care that the
>     ++resulting tag will have an invalid signature.
>
>       --tag-of-filtered-object=(abort|drop|rewrite)::
>         Specify how to handle tags whose tagged object is filtered out.
> 5:  20f085a790 = 5:  49f73ee6ef fast-export: do not modify memory from get_commit_buffer
> 6:  48e0d4203c ! 6:  542c692e67 fast-export, fast-import: add support for signed-commits
>     @@ Commit message
>          Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
>
>       ## Documentation/git-fast-export.adoc ##
>     -@@ Documentation/git-fast-export.adoc: they will be exported, but you will see a warning.  'verbatim' and
>     - transformation affecting tags will be performed, or if you do not
>     - care that the resulting tag will have an invalid signature.
>     +@@ Documentation/git-fast-export.adoc: affecting tags or any commit in their history will be performed by you
>     + or by fast-export or fast-import, or if you do not care that the
>     + resulting tag will have an invalid signature.
>
>      +--signed-commits=(verbatim|warn-verbatim|warn-strip|strip|abort)::
>      +  Specify how to handle signed commits.  Behaves exactly as
>     -+  '--signed-tags', but for commits.
>     ++  '--signed-tags', but for commits.  Default is 'abort'.
>      ++
>      +Earlier versions this command that did not have '--signed-commits'
>      +behaved as if '--signed-commits=strip'.  As an escape hatch for users
>     @@ builtin/fast-export.c: static void anonymize_ident_line(const char **beg, const
>
>      +/*
>      + * find_commit_multiline_header is similar to find_commit_header,
>     -+ * except that it handles multi-line headers, rathar than simply
>     ++ * except that it handles multi-line headers, rather than simply
>      + * returning the first line of the header.
>      + *
>      + * The returned string has had the ' ' line continuation markers
>     -+ * removed, and points to statically allocated memory (not to memory
>     -+ * within 'msg'), so it is only valid until the next call to
>     -+ * find_commit_multiline_header.
>     ++ * removed, and points to allocated memory that must be free()d (not
>     ++ * to memory within 'msg').
>      + *
>      + * If the header is found, then *end is set to point at the '\n' in
>      + * msg that immediately follows the header value.

I didn't look closely at Phillip's comments or your changes related to
those, but the other changes in the range-diff address my comments
from v5, so this version looks good to me.

Thanks!

      parent reply	other threads:[~2025-03-10 22:36 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-22  0:27 [PATCH v2 0/3] fast-export, fast-import: implement signed-commits Luke Shumaker
2021-04-22  0:27 ` [PATCH v2 1/3] git-fast-import.txt: add missing LF in the BNF Luke Shumaker
2021-04-22  0:27 ` [PATCH v2 2/3] fast-export: rename --signed-tags='warn' to 'warn-verbatim' Luke Shumaker
2021-04-22  3:59   ` Eric Sunshine
2021-04-22  4:43     ` Luke Shumaker
2021-04-22  4:50       ` Luke Shumaker
2021-04-22  0:27 ` [PATCH v2 3/3] fast-export, fast-import: implement signed-commits Luke Shumaker
2021-04-23 16:41 ` [PATCH v3 0/3] " Luke Shumaker
2021-04-23 16:41   ` [PATCH v3 1/3] git-fast-import.txt: add missing LF in the BNF Luke Shumaker
2021-04-23 16:41   ` [PATCH v3 2/3] fast-export: rename --signed-tags='warn' to 'warn-verbatim' Luke Shumaker
2021-04-28  3:29     ` Junio C Hamano
2021-04-29 19:02       ` Luke Shumaker
2021-04-30  0:03         ` Junio C Hamano
2021-04-23 16:41   ` [PATCH v3 3/3] fast-export, fast-import: implement signed-commits Luke Shumaker
2021-04-28  4:02     ` Junio C Hamano
2021-04-29 20:06       ` Luke Shumaker
2021-04-29 22:38         ` Elijah Newren
2021-04-29 23:42           ` Junio C Hamano
2021-04-30  2:23             ` Elijah Newren
2021-04-30  3:20               ` Junio C Hamano
2021-04-30 17:07             ` Luke Shumaker
2021-04-30 19:34       ` Luke Shumaker
2021-04-30 19:59         ` Elijah Newren
2021-04-30 22:21           ` Luke Shumaker
2021-04-30 23:25   ` [PATCH v4 0/5] fast-export, fast-import: add support for signed-commits Luke Shumaker
2021-04-30 23:25     ` [PATCH v4 1/5] git-fast-import.txt: add missing LF in the BNF Luke Shumaker
2021-04-30 23:25     ` [PATCH v4 2/5] fast-export: rename --signed-tags='warn' to 'warn-verbatim' Luke Shumaker
2021-04-30 23:25     ` [PATCH v4 3/5] git-fast-export.txt: clarify why 'verbatim' may not be a good idea Luke Shumaker
2021-04-30 23:25     ` [PATCH v4 4/5] fast-export: do not modify memory from get_commit_buffer Luke Shumaker
2021-05-03  4:41       ` Junio C Hamano
2021-04-30 23:25     ` [PATCH v4 5/5] fast-export, fast-import: add support for signed-commits Luke Shumaker
2021-05-03  5:09       ` Junio C Hamano
2025-02-24 14:27     ` [PATCH v5 0/6] " Christian Couder
2025-02-24 14:27       ` [PATCH v5 1/6] git-fast-import.adoc: add missing LF in the BNF Christian Couder
2025-02-24 14:27       ` [PATCH v5 2/6] fast-export: fix missing whitespace after switch Christian Couder
2025-02-24 14:27       ` [PATCH v5 3/6] fast-export: rename --signed-tags='warn' to 'warn-verbatim' Christian Couder
2025-02-24 14:27       ` [PATCH v5 4/6] git-fast-export.txt: clarify why 'verbatim' may not be a good idea Christian Couder
2025-02-24 19:26         ` Elijah Newren
2025-03-10 15:58           ` Christian Couder
2025-02-24 14:27       ` [PATCH v5 5/6] fast-export: do not modify memory from get_commit_buffer Christian Couder
2025-02-24 14:27       ` [PATCH v5 6/6] fast-export, fast-import: add support for signed-commits Christian Couder
2025-02-25  7:35         ` Elijah Newren
2025-02-25 16:25           ` Junio C Hamano
2025-03-10 15:58           ` Christian Couder
2025-02-24 17:01       ` [PATCH v5 0/6] " Junio C Hamano
2025-02-25  7:35         ` Elijah Newren
2025-02-25  7:51           ` Patrick Steinhardt
2025-02-25 16:48             ` Elijah Newren
2025-02-25 16:56               ` Junio C Hamano
2025-03-10 15:59                 ` Christian Couder
2025-02-25 14:53       ` Phillip Wood
2025-03-10 15:59         ` Christian Couder
2025-03-10 15:57       ` [PATCH v6 " Christian Couder
2025-03-10 15:57         ` [PATCH v6 1/6] git-fast-import.adoc: add missing LF in the BNF Christian Couder
2025-03-10 15:57         ` [PATCH v6 2/6] fast-export: fix missing whitespace after switch Christian Couder
2025-03-10 15:57         ` [PATCH v6 3/6] fast-export: rename --signed-tags='warn' to 'warn-verbatim' Christian Couder
2025-03-10 15:57         ` [PATCH v6 4/6] git-fast-export.adoc: clarify why 'verbatim' may not be a good idea Christian Couder
2025-03-10 15:57         ` [PATCH v6 5/6] fast-export: do not modify memory from get_commit_buffer Christian Couder
2025-03-10 15:57         ` [PATCH v6 6/6] fast-export, fast-import: add support for signed-commits Christian Couder
2025-03-10 22:36         ` Elijah Newren [this message]

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='CABPp-BGyA8iBA0BFO8FcpZAMca94aVu2vHHRi4Oz=nCWxJSDPg@mail.gmail.com' \
    --to=newren@gmail.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=christian.couder@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=lukeshu@lukeshu.com \
    --cc=me@ttaylorr.com \
    --cc=peff@peff.net \
    --cc=phillip.wood123@gmail.com \
    --cc=ps@pks.im \
    --cc=sandals@crustytoothpaste.net \
    --cc=sunshine@sunshineco.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).