Re: [PATCH] Allow usage of --gpg-sign flag in commit-tree builtin.
- From
- Martin Ågren <martin.agren@gmail.com>
- Date
- Jan 17, 2019, 20:24 UTC
- Message-ID
- <CAN0heSo_XVK67urjgCVGh23UvzhrquojBjNnp_P2NgS7eCUd1Q@mail.gmail.com>
- In-Reply-To
- <20190117192909.26064-1-brandon1024.br@gmail.com>
Hi Brandon,
Welcome to the list! :-)
On Thu, 17 Jan 2019 at 20:30, Brandon Richardson <brandon1024.br@gmail.com> 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@gmail.com>
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.
Show 9 quoted lines
> 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.
Show 5 quoted lines
> - 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