* [PATCH] Allow usage of --gpg-sign flag in commit-tree builtin.
@ 2019-01-17 19:29 Brandon Richardson
2019-01-17 20:24 ` Martin Ågren
0 siblings, 1 reply; 2+ messages in thread
From: Brandon Richardson @ 2019-01-17 19:29 UTC (permalink / raw)
To: git; +Cc: Brandon Richardson
Signed-off-by: Brandon Richardson <brandon1024.br@gmail.com>
---
Hi,
This is my first contribution, so please bear with me. All feedback
is appreciated.
Ran into this issue while writing a signed commit object manually.
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>
Thanks,
Brandon
builtin/commit-tree.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c
index 9ec36a82b..9a06594f6 100644
--- a/builtin/commit-tree.c
+++ b/builtin/commit-tree.c
@@ -66,7 +66,9 @@ int cmd_commit_tree(int argc, const char **argv, const char *prefix)
continue;
}
- 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;
if (!strcmp(arg, "--no-gpg-sign")) {
--
2.20.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] Allow usage of --gpg-sign flag in commit-tree builtin.
2019-01-17 19:29 [PATCH] Allow usage of --gpg-sign flag in commit-tree builtin Brandon Richardson
@ 2019-01-17 20:24 ` Martin Ågren
0 siblings, 0 replies; 2+ messages in thread
From: Martin Ågren @ 2019-01-17 20:24 UTC (permalink / raw)
To: Brandon Richardson; +Cc: Git Mailing List
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.
> 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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-01-17 20:24 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-17 19:29 [PATCH] Allow usage of --gpg-sign flag in commit-tree builtin Brandon Richardson
2019-01-17 20:24 ` Martin Ågren
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).