diff options
author | John Keeping <john@keeping.me.uk> | 2013-04-14 11:57:07 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-04-15 09:03:16 -0700 |
commit | b8bd826f3a4196bc80a3c957503b421709b401ab (patch) | |
tree | bc88536a6d26fd6fcff4b7e27c0b2b55d0e8be15 /t | |
parent | cd16c59bfa216b7e153f357ccfa89d2a567b8c00 (diff) | |
download | git-b8bd826f3a4196bc80a3c957503b421709b401ab.tar.gz git-b8bd826f3a4196bc80a3c957503b421709b401ab.tar.xz |
transport-helper: pass --signed-tags=warn-strip to fast-export
Currently, attempting to push a signed tag to a remote helper which uses
fast-export results in the remote helper failing because the default
fast-export action for signed tags is "abort". This is not helpful for
users because there is no way to pass additional arguments to
fast-export here, either from the remote helper or from the command
line.
In general, the signature will be invalidated by whatever transformation
a remote helper performs on a tag to push it to a repository in a
different format so the correct behaviour is to strip the tag. Doing
this silently may surprise people, so use "warn-strip" to issue a
warning when a signed tag is encountered.
Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
-rwxr-xr-x | t/t5801-remote-helpers.sh | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/t/t5801-remote-helpers.sh b/t/t5801-remote-helpers.sh index f387027c0..9b287db65 100755 --- a/t/t5801-remote-helpers.sh +++ b/t/t5801-remote-helpers.sh @@ -6,6 +6,7 @@ test_description='Test remote-helper import and export commands' . ./test-lib.sh +. "$TEST_DIRECTORY"/lib-gpg.sh if ! type "${BASH-bash}" >/dev/null 2>&1; then skip_all='skipping remote-testgit tests, bash not available' @@ -166,4 +167,13 @@ test_expect_success 'push ref with existing object' ' compare_refs local dup server dup ' +test_expect_success GPG 'push signed tag' ' + (cd local && + git checkout master && + git tag -s -m signed-tag signed-tag && + git push origin signed-tag + ) && + compare_refs local signed-tag^{} server signed-tag^{} +' + test_done |