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