Re: [PATCH] Allow usage of --gpg-sign flag in commit-tree builtin.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Brandon,

Welcome to the list! :-)

On Thu, 17 Jan 2019 at 20:30, Brandon Richardson
<brandon1024.br@xxxxxxxxx> wrote:

> Subject: [PATCH] Allow usage of --gpg-sign flag in commit-tree builtin.

Good find!

Maybe "commit-tree: handle --gpg-sign" which looks more like what we
see in `git log --oneline builtin/commit-tree.c`.

> Signed-off-by: Brandon Richardson <brandon1024.br@xxxxxxxxx>

It could be worthwhile to note in the proposed commit message that this
option is actually documented, since 55ca3f99ae ("commit-tree: add and
document --no-gpg-sign", 2013-12-13), so it's clearly an omission that
it's not implemented.

> Here are the steps I followed to replicate the issue:
>
> mkdir test && cd test
> git init
> echo 'test' > test.txt
> git hash-object -w test.txt
> git update-index --add --cacheinfo 100644 <blob hash> test.txt
> git write-tree
> git commit-tree --gpg-sign -m 'test commit msg' <tree obj hash>

Have you looked at turning this into a test in the t/ directory?
Grepping a little suggests that t7510-signed-commit.sh might be a good
spot. A test would make the patch more obviously correct, and would make
sure that this doesn't regress in the future.

> -               if (skip_prefix(arg, "-S", &sign_commit))
> +               if (skip_prefix(arg, "-S", &sign_commit) ||
> +                       skip_prefix(arg, "--gpg-sign=", &sign_commit) ||
> +                       skip_prefix(arg, "--gpg-sign", &sign_commit))
>                         continue;

This would match "--gpg-signfoo", which seems like a bug. The first two
`skip_prefix()` calls look ok. Then maybe

  if (!strcmp(arg, "--gpg-sign")) {
          sign_commit = "";
          continue;
  }

That's entirely untested, though.

Thanks for looking into this, rather than just side-stepping it. ;-)

Martin



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux