diff options
| -rw-r--r-- | Documentation/RelNotes/2.50.0.adoc | 4 | ||||
| -rw-r--r-- | Documentation/git-fast-export.adoc | 12 | ||||
| -rw-r--r-- | Documentation/git-fast-import.adoc | 3 | ||||
| -rw-r--r-- | builtin/fast-export.c | 7 | ||||
| -rwxr-xr-x | t/t9350-fast-export.sh | 20 |
5 files changed, 16 insertions, 30 deletions
diff --git a/Documentation/RelNotes/2.50.0.adoc b/Documentation/RelNotes/2.50.0.adoc index c6c34d1a1d..9a1cdf0dc0 100644 --- a/Documentation/RelNotes/2.50.0.adoc +++ b/Documentation/RelNotes/2.50.0.adoc @@ -100,7 +100,9 @@ Performance, Internal Implementation, Development Support etc. * "git fsck" becomes more careful when checking the refs. * "git fast-export | git fast-import" learns to deal with commit and - tag objects with embedded signatures a bit better. + tag objects with embedded signatures a bit better. This is highly + experimental and the format of the data stream may change in the + future without compatibility guarantees. * The code paths to check whether a refname X is available (by seeing if another ref X/Y exists, etc.) have been optimized. diff --git a/Documentation/git-fast-export.adoc b/Documentation/git-fast-export.adoc index 413a527496..43bbb4f63c 100644 --- a/Documentation/git-fast-export.adoc +++ b/Documentation/git-fast-export.adoc @@ -46,14 +46,12 @@ 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. Default is 'abort'. + '--signed-tags', but for commits. Default is 'strip', which + is the same as how earlier versions of this command without + this option behaved. + -Earlier versions this command that did not have '--signed-commits' -behaved as if '--signed-commits=strip'. As an escape hatch for users -of tools that call 'git fast-export' but do not yet support -'--signed-commits', you may set the environment variable -'FAST_EXPORT_SIGNED_COMMITS_NOABORT=1' in order to change the default -from 'abort' to 'warn-strip'. +NOTE: This is highly experimental and the format of the data stream may +change in the future without compatibility guarantees. --tag-of-filtered-object=(abort|drop|rewrite):: Specify how to handle tags whose tagged object is filtered out. diff --git a/Documentation/git-fast-import.adoc b/Documentation/git-fast-import.adoc index 7b107f5e8e..250d866652 100644 --- a/Documentation/git-fast-import.adoc +++ b/Documentation/git-fast-import.adoc @@ -523,6 +523,9 @@ that signs the commit data. Here <alg> specifies which hashing algorithm is used for this signature, either `sha1` or `sha256`. +NOTE: This is highly experimental and the format of the data stream may +change in the future without compatibility guarantees. + `encoding` ^^^^^^^^^^ The optional `encoding` command indicates the encoding of the commit diff --git a/builtin/fast-export.c b/builtin/fast-export.c index 37c01d6c6f..fcf6b00d5f 100644 --- a/builtin/fast-export.c +++ b/builtin/fast-export.c @@ -39,7 +39,7 @@ enum sign_mode { SIGN_ABORT, SIGN_VERBATIM, SIGN_STRIP, SIGN_WARN_VERBATIM, SIGN static int progress; static enum sign_mode signed_tag_mode = SIGN_ABORT; -static enum sign_mode signed_commit_mode = SIGN_ABORT; +static enum sign_mode signed_commit_mode = SIGN_STRIP; 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 int fake_missing_tagger; @@ -1269,7 +1269,6 @@ int cmd_fast_export(int argc, const char *prefix, struct repository *repo UNUSED) { - const char *env_signed_commits_noabort; struct rev_info revs; struct commit *commit; char *export_filename = NULL, @@ -1327,10 +1326,6 @@ int cmd_fast_export(int argc, if (argc == 1) usage_with_options (fast_export_usage, options); - env_signed_commits_noabort = getenv("FAST_EXPORT_SIGNED_COMMITS_NOABORT"); - if (env_signed_commits_noabort && *env_signed_commits_noabort) - signed_commit_mode = SIGN_WARN_STRIP; - /* we handle encodings */ git_config(git_default_config, NULL); diff --git a/t/t9350-fast-export.sh b/t/t9350-fast-export.sh index dda9e7c3e7..76619765fc 100755 --- a/t/t9350-fast-export.sh +++ b/t/t9350-fast-export.sh @@ -299,22 +299,10 @@ test_expect_success GPG 'set up signed commit' ' ' -test_expect_success GPG 'signed-commits default' ' - - sane_unset FAST_EXPORT_SIGNED_COMMITS_NOABORT && - test_must_fail git fast-export --reencode=no commit-signing && - - FAST_EXPORT_SIGNED_COMMITS_NOABORT=1 git fast-export --reencode=no commit-signing >output 2>err && - ! grep ^gpgsig output && - grep "^encoding ISO-8859-1" output && - test -s err && - sed "s/commit-signing/commit-strip-signing/" output | ( - cd new && - git fast-import && - STRIPPED=$(git rev-parse --verify refs/heads/commit-strip-signing) && - test $COMMIT_SIGNING != $STRIPPED - ) - +test_expect_success GPG 'signed-commits default is same as strip' ' + git fast-export --reencode=no commit-signing >out1 2>err && + git fast-export --reencode=no --signed-commits=strip commit-signing >out2 && + test_cmp out1 out2 ' test_expect_success GPG 'signed-commits=abort' ' |
