Re: Remote helpers and signed tags

2013-04-07 Thread Sverre Rabbelier
On Sun, Apr 7, 2013 at 2:46 PM, Jonathan Nieder  wrote:
> The remote helper infrastructure is certainly being unhelpful here.  I
> wonder if transport-helper should just pass --signed-tag=strip and be
> done with it (leaving open the possibility of a capability to switch
> to --signed-tag=verbatim when someone wants to teach the testgit
> helper to support that).  What do you think?

I think that's (at least for now) the right thing to do. Passing
anything but signed-tag=strip should be triggered by a capability from
the helper, since most helpers won't know how to deal with signed
tags.

--
Cheers,

Sverre Rabbelier
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Remote helpers and signed tags

2013-04-07 Thread Jonathan Nieder
Hi John,

John Keeping wrote:

> It appears to be impossible to push signed tags using a remote helper
> that supports only fast-export.
[...]
> fatal: Encountered signed tag 572a535454612a046e7dd7404dcca94d6243c788;
> use --signed-tag= to handle it.
> fatal: Error while running fast-export
>
> which is not particularly helpful for a user who doesn't know how the
> remote helper is implemented

Yeah, this is idiotic.

The remote helper infrastructure is certainly being unhelpful here.  I
wonder if transport-helper should just pass --signed-tag=strip and be
done with it (leaving open the possibility of a capability to switch
to --signed-tag=verbatim when someone wants to teach the testgit
helper to support that).  What do you think?

Thanks,
Jonathan
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Remote helpers and signed tags

2013-04-07 Thread John Keeping
It appears to be impossible to push signed tags using a remote helper
that supports only fast-export.  This is reported against gitifyhg[1]
but I think it is actually a Git issue.

[1] https://github.com/buchuki/gitifyhg/issues/59

I can reproduce the error using a trivial remote helper (run this in a
clone of git.git):

-- >8 --
cat >git-remote-export <&3
test "$line" = done && break
done 3>"$url"
echo
;;
'')
exit
;;
*)
echo >&2 "unsupported command: $line"
exit 1
;;
esac
done
EOF
chmod +x git-remote-export &&
PATH="$(pwd):$PATH" git push "export::$(pwd)/v1.8.2.export" v1.8.2
-- 8< --

This produces:

fatal: Encountered signed tag 572a535454612a046e7dd7404dcca94d6243c788;
use --signed-tag= to handle it.
fatal: Error while running fast-export

which is not particularly helpful for a user who doesn't know how the
remote helper is implemented, particularly because adding
--signed-tag= to the command won't work.

I think there are two problems here:

1) The error message is misleading: "--signed-tag" isn't an option
   to git-push and as a user I don't know why Git thought I wanted
   to run fast-export.

2) There is no way (that I have found) to change the signed-tag
   behaviour of git-fast-export when it is being invoked for a
   remote helper.

How do remote helpers using the "push" method handle this?  In that case
it seems to be completely up to the helper program to decide what to do.

I wonder if the way forward is to do some combination of:

a) Add a --signed-tags option to git-push, which is either passed to
   fast-export or given as a new "option signed-tags" to the
   remote-helper when using the push interface (and ignored for the
   connect interface).

b) Add a configuration variable to specify how to handle signed tags
   when pushing to a remote that uses a remote helper that cannot
   handle them; something like "remote..signedTags".

c) Improve the "Error while running fast-export" message to
   something more like "Error pushing with fast-export (using helper
   git-remote-foo)".
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html