summaryrefslogtreecommitdiff
path: root/transport-helper.c
diff options
context:
space:
mode:
authorJohn Keeping <john@keeping.me.uk>2013-04-14 11:57:08 +0100
committerJunio C Hamano <gitster@pobox.com>2013-04-15 09:04:43 -0700
commit0d957a4df5248b53c4160babdcfa0cefba848c93 (patch)
treee73c718b78bbac9f1aad749c7ff9d5fe2e29bd14 /transport-helper.c
parentb8bd826f3a4196bc80a3c957503b421709b401ab (diff)
downloadgit-0d957a4df5248b53c4160babdcfa0cefba848c93.tar.gz
transport-helper: add 'signed-tags' capability
This allows a remote helper using the 'export' protocol to specify that it supports signed tags, changing the handing from 'warn-strip' to 'verbatim'. Signed-off-by: John Keeping <john@keeping.me.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'transport-helper.c')
-rw-r--r--transport-helper.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/transport-helper.c b/transport-helper.c
index 3ce825989e..5f8d075ed8 100644
--- a/transport-helper.c
+++ b/transport-helper.c
@@ -25,6 +25,7 @@ struct helper_data {
option : 1,
push : 1,
connect : 1,
+ signed_tags : 1,
no_disconnect_req : 1;
char *export_marks;
char *import_marks;
@@ -191,6 +192,8 @@ static struct child_process *get_helper(struct transport *transport)
refspecs[refspec_nr++] = xstrdup(capname + strlen("refspec "));
} else if (!strcmp(capname, "connect")) {
data->connect = 1;
+ } else if (!strcmp(capname, "signed-tags")) {
+ data->signed_tags = 1;
} else if (!prefixcmp(capname, "export-marks ")) {
struct strbuf arg = STRBUF_INIT;
strbuf_addstr(&arg, "--export-marks=");
@@ -413,7 +416,8 @@ static int get_exporter(struct transport *transport,
fastexport->argv = xcalloc(6 + revlist_args->nr, sizeof(*fastexport->argv));
fastexport->argv[argc++] = "fast-export";
fastexport->argv[argc++] = "--use-done-feature";
- fastexport->argv[argc++] = "--signed-tags=warn-strip";
+ fastexport->argv[argc++] = data->signed_tags ?
+ "--signed-tags=verbatim" : "--signed-tags=warn-strip";
if (data->export_marks)
fastexport->argv[argc++] = data->export_marks;
if (data->import_marks)