fast-export: rename --signed-tags='warn' to 'warn-verbatim'

The --signed-tags= option takes one of five arguments specifying how to
handle signed tags during export.  Among these arguments, 'strip' is to
'warn-strip' as 'verbatim' is to 'warn' (the unmentioned argument is
'abort', which stops the fast-export process entirely).  That is,
signatures are either stripped or copied verbatim while exporting, with
or without a warning.

Match the pattern and rename 'warn' to 'warn-verbatim' to make it clear
that it instructs fast-export to copy signatures verbatim.

To maintain backwards compatibility, 'warn' is still recognized as
deprecated synonym of 'warn-verbatim'.

Signed-off-by: Luke Shumaker <lukeshu@datawire.io>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Luke Shumaker
2025-03-10 16:57:43 +01:00
committed by Junio C Hamano
parent 73ca6d2001
commit 3b24d86c56
3 changed files with 25 additions and 7 deletions

View File

@@ -27,7 +27,7 @@ OPTIONS
Insert 'progress' statements every <n> objects, to be shown by Insert 'progress' statements every <n> objects, to be shown by
'git fast-import' during import. 'git fast-import' during import.
--signed-tags=(verbatim|warn|warn-strip|strip|abort):: --signed-tags=(verbatim|warn-verbatim|warn-strip|strip|abort)::
Specify how to handle signed tags. Since any transformation Specify how to handle signed tags. Since any transformation
after the export can change the tag names (which can also happen after the export can change the tag names (which can also happen
when excluding revisions) the signatures will not match. when excluding revisions) the signatures will not match.
@@ -36,8 +36,8 @@ When asking to 'abort' (which is the default), this program will die
when encountering a signed tag. With 'strip', the tags will silently when encountering a signed tag. With 'strip', the tags will silently
be made unsigned, with 'warn-strip' they will be made unsigned but a be made unsigned, with 'warn-strip' they will be made unsigned but a
warning will be displayed, with 'verbatim', they will be silently warning will be displayed, with 'verbatim', they will be silently
exported and with 'warn', they will be exported, but you will see a exported and with 'warn-verbatim' (or 'warn', a deprecated synonym),
warning. they will be exported, but you will see a warning.
--tag-of-filtered-object=(abort|drop|rewrite):: --tag-of-filtered-object=(abort|drop|rewrite)::
Specify how to handle tags whose tagged object is filtered out. Specify how to handle tags whose tagged object is filtered out.

View File

@@ -36,7 +36,7 @@ static const char *fast_export_usage[] = {
}; };
static int progress; static int progress;
static enum signed_tag_mode { SIGNED_TAG_ABORT, VERBATIM, WARN, WARN_STRIP, STRIP } signed_tag_mode = SIGNED_TAG_ABORT; static enum signed_tag_mode { SIGNED_TAG_ABORT, VERBATIM, WARN_VERBATIM, WARN_STRIP, STRIP } signed_tag_mode = SIGNED_TAG_ABORT;
static enum tag_of_filtered_mode { TAG_FILTERING_ABORT, DROP, REWRITE } tag_of_filtered_mode = TAG_FILTERING_ABORT; static enum tag_of_filtered_mode { TAG_FILTERING_ABORT, DROP, REWRITE } tag_of_filtered_mode = TAG_FILTERING_ABORT;
static enum reencode_mode { REENCODE_ABORT, REENCODE_YES, REENCODE_NO } reencode_mode = REENCODE_ABORT; static enum reencode_mode { REENCODE_ABORT, REENCODE_YES, REENCODE_NO } reencode_mode = REENCODE_ABORT;
static int fake_missing_tagger; static int fake_missing_tagger;
@@ -62,8 +62,8 @@ static int parse_opt_signed_tag_mode(const struct option *opt,
*val = SIGNED_TAG_ABORT; *val = SIGNED_TAG_ABORT;
else if (!strcmp(arg, "verbatim") || !strcmp(arg, "ignore")) else if (!strcmp(arg, "verbatim") || !strcmp(arg, "ignore"))
*val = VERBATIM; *val = VERBATIM;
else if (!strcmp(arg, "warn")) else if (!strcmp(arg, "warn-verbatim") || !strcmp(arg, "warn"))
*val = WARN; *val = WARN_VERBATIM;
else if (!strcmp(arg, "warn-strip")) else if (!strcmp(arg, "warn-strip"))
*val = WARN_STRIP; *val = WARN_STRIP;
else if (!strcmp(arg, "strip")) else if (!strcmp(arg, "strip"))
@@ -833,7 +833,7 @@ static void handle_tag(const char *name, struct tag *tag)
die("encountered signed tag %s; use " die("encountered signed tag %s; use "
"--signed-tags=<mode> to handle it", "--signed-tags=<mode> to handle it",
oid_to_hex(&tag->object.oid)); oid_to_hex(&tag->object.oid));
case WARN: case WARN_VERBATIM:
warning("exporting signed tag %s", warning("exporting signed tag %s",
oid_to_hex(&tag->object.oid)); oid_to_hex(&tag->object.oid));
/* fallthru */ /* fallthru */

View File

@@ -253,6 +253,24 @@ test_expect_success 'signed-tags=verbatim' '
' '
test_expect_success 'signed-tags=warn-verbatim' '
git fast-export --signed-tags=warn-verbatim sign-your-name >output 2>err &&
grep PGP output &&
test -s err
'
# 'warn' is a backward-compatibility alias for 'warn-verbatim'; test
# that it keeps working.
test_expect_success 'signed-tags=warn' '
git fast-export --signed-tags=warn sign-your-name >output 2>err &&
grep PGP output &&
test -s err
'
test_expect_success 'signed-tags=strip' ' test_expect_success 'signed-tags=strip' '
git fast-export --signed-tags=strip sign-your-name > output && git fast-export --signed-tags=strip sign-your-name > output &&