# [PATCH] am: configure gpg at startup

4 messages from 2015-09-30 to 2015-09-30. Participants: Renee Margaret McConahy, Eric Sunshine, Junio C Hamano.
Thread: https://gitlist.dev/t/40459

## Renee Margaret McConahy, 2015-09-30 17:49

Subject: [PATCH] am: configure gpg at startup
Message-ID: <560c2efb.894f320a.d43ae.4338@mx.google.com>
URL: https://gitlist.dev/e/560c2efb.894f320a.d43ae.4338%40mx.google.com

```
The new builtin am ignores the user.signingkey variable: gpg is being
called with the committer details as the key ID, which may not be
correct. git_gpg_config is responsible for handling that variable and is
expected to be called on initialization by any modules that use gpg.

Perhaps git_gpg_config's functionality ought to be merged into
git_default_config, but this is simpler and in keeping with the current
practice.

Signed-off-by: Renee Margaret McConahy <nepella@gmail.com>
---
 builtin/am.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/builtin/am.c b/builtin/am.c
index 4f77e07..f0b0ffd 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -2208,6 +2208,18 @@ enum resume_mode {
 	RESUME_ABORT
 };
 
+static int git_am_config(const char *k, const char *v, void *cb)
+{
+	int *flags = cb;
+	int status;
+
+	status = git_gpg_config(k, v, NULL);
+	if (status)
+		return status;
+
+	return git_default_config(k, v, NULL);
+}
+
 int cmd_am(int argc, const char **argv, const char *prefix)
 {
 	struct am_state state;
@@ -2308,7 +2320,7 @@ int cmd_am(int argc, const char **argv, const char *prefix)
 		OPT_END()
 	};
 
-	git_config(git_default_config, NULL);
+	git_config(git_am_config, NULL);
 
 	am_state_init(&state, git_path("rebase-apply"));
 
-- 
2.6.0

```

## Renee Margaret McConahy, 2015-09-30 17:49

Subject: [PATCH v2] am: configure gpg at startup
Message-ID: <560c3c62.65086b0a.538a7.328a@mx.google.com>
URL: https://gitlist.dev/e/560c3c62.65086b0a.538a7.328a%40mx.google.com
In-Reply-To: <xmqqtwqb7lqn.fsf@gitster.mtv.corp.google.com>

```
The new builtin am ignores the user.signingkey variable: gpg is being
called with the committer details as the key ID, which may not be
correct. git_gpg_config is responsible for handling that variable and is
expected to be called on initialization by any modules that use gpg.

Perhaps git_gpg_config's functionality ought to be merged into
git_default_config, but this is simpler and in keeping with the current
practice.

Signed-off-by: Renee Margaret McConahy <nepella@gmail.com>
---
Oops, my bad. Thanks.

 builtin/am.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/builtin/am.c b/builtin/am.c
index 4f77e07..3bd4fd7 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -2208,6 +2208,17 @@ enum resume_mode {
 	RESUME_ABORT
 };
 
+static int git_am_config(const char *k, const char *v, void *cb)
+{
+	int status;
+
+	status = git_gpg_config(k, v, NULL);
+	if (status)
+		return status;
+
+	return git_default_config(k, v, NULL);
+}
+
 int cmd_am(int argc, const char **argv, const char *prefix)
 {
 	struct am_state state;
@@ -2308,7 +2319,7 @@ int cmd_am(int argc, const char **argv, const char *prefix)
 		OPT_END()
 	};
 
-	git_config(git_default_config, NULL);
+	git_config(git_am_config, NULL);
 
 	am_state_init(&state, git_path("rebase-apply"));
 
-- 
2.5.3

```

## Eric Sunshine, 2015-09-30 18:53

Subject: Re: [PATCH] am: configure gpg at startup
Message-ID: <CAPig+cSqp+o+MNDyprF8SY1on-SZucTEHWc1Zi2QOnr_93k5jA@mail.gmail.com>
URL: https://gitlist.dev/e/CAPig%2BcSqp%2Bo%2BMNDyprF8SY1on-SZucTEHWc1Zi2QOnr_93k5jA%40mail.gmail.com
In-Reply-To: <560c2efb.894f320a.d43ae.4338@mx.google.com>

```
On Wed, Sep 30, 2015 at 1:49 PM, Renee Margaret McConahy
<nepella@gmail.com> wrote:
> The new builtin am ignores the user.signingkey variable: gpg is being
> called with the committer details as the key ID, which may not be
> correct. git_gpg_config is responsible for handling that variable and is
> expected to be called on initialization by any modules that use gpg.
>
> Perhaps git_gpg_config's functionality ought to be merged into
> git_default_config, but this is simpler and in keeping with the current
> practice.
>
> Signed-off-by: Renee Margaret McConahy <nepella@gmail.com>
> ---
> diff --git a/builtin/am.c b/builtin/am.c
> index 4f77e07..f0b0ffd 100644
> --- a/builtin/am.c
> +++ b/builtin/am.c
> @@ -2208,6 +2208,18 @@ enum resume_mode {
>         RESUME_ABORT
>  };
>
> +static int git_am_config(const char *k, const char *v, void *cb)
> +{
> +       int *flags = cb;

'flags' seems to be unused.

> +       int status;
> +
> +       status = git_gpg_config(k, v, NULL);
> +       if (status)
> +               return status;
> +
> +       return git_default_config(k, v, NULL);
> +}
> +
>  int cmd_am(int argc, const char **argv, const char *prefix)
>  {
>         struct am_state state;
> @@ -2308,7 +2320,7 @@ int cmd_am(int argc, const char **argv, const char *prefix)
>                 OPT_END()
>         };
>
> -       git_config(git_default_config, NULL);
> +       git_config(git_am_config, NULL);
>
>         am_state_init(&state, git_path("rebase-apply"));
>
> --
> 2.6.0

```

## Junio C Hamano, 2015-09-30 19:25

Subject: Re: [PATCH] am: configure gpg at startup
Message-ID: <xmqqtwqb7lqn.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqtwqb7lqn.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <560c2efb.894f320a.d43ae.4338@mx.google.com>

```
Renee Margaret McConahy <nepella@gmail.com> writes:

> The new builtin am ignores the user.signingkey variable: gpg is being
> called with the committer details as the key ID, which may not be
> correct. git_gpg_config is responsible for handling that variable and is
> expected to be called on initialization by any modules that use gpg.
>
> Perhaps git_gpg_config's functionality ought to be merged into
> git_default_config, but this is simpler and in keeping with the current
> practice.
>
> Signed-off-by: Renee Margaret McConahy <nepella@gmail.com>
> ---

Thanks.

I'd remove the unused "flags" (already pointed out by somebody, I
think), but otherwise the change looks sensible.


>  builtin/am.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
>
> diff --git a/builtin/am.c b/builtin/am.c
> index 4f77e07..f0b0ffd 100644
> --- a/builtin/am.c
> +++ b/builtin/am.c
> @@ -2208,6 +2208,18 @@ enum resume_mode {
>  	RESUME_ABORT
>  };
>  
> +static int git_am_config(const char *k, const char *v, void *cb)
> +{
> +	int *flags = cb;
> +	int status;
> +
> +	status = git_gpg_config(k, v, NULL);
> +	if (status)
> +		return status;
> +
> +	return git_default_config(k, v, NULL);
> +}
> +
>  int cmd_am(int argc, const char **argv, const char *prefix)
>  {
>  	struct am_state state;
> @@ -2308,7 +2320,7 @@ int cmd_am(int argc, const char **argv, const char *prefix)
>  		OPT_END()
>  	};
>  
> -	git_config(git_default_config, NULL);
> +	git_config(git_am_config, NULL);
>  
>  	am_state_init(&state, git_path("rebase-apply"));

```
