From: Nguyễn Thái Ngọc Duy Date: Fri, 11 May 2012 01:25:04 GMT Subject: [PATCH v2 2/4] notes: "add -c" refuses to open an editor with non-blobs Message-ID: <1336699506-28388-3-git-send-email-pclouds@gmail.com> In-Reply-To: <1336658701-9004-1-git-send-email-pclouds@gmail.com> Signed-off-by: Nguyễn Thái Ngọc Duy --- builtin/notes.c | 2 ++ t/t3301-notes.sh | 4 ++++ 2 files changed, 6 insertions(+), 0 deletions(-) diff --git a/builtin/notes.c b/builtin/notes.c index 9840269..2960535 100644 --- a/builtin/notes.c +++ b/builtin/notes.c @@ -275,6 +275,8 @@ static int parse_reuse_arg(const struct option *opt, const char *arg, int unset) free(buf); die(_("Failed to read object '%s'."), arg);; } + if (msg->use_editor && type != OBJ_BLOB) + die(_("%s is not a blob, cannot be edited manually"), sha1_to_hex(object)); strbuf_add(&(msg->buf), buf, len); free(buf); diff --git a/t/t3301-notes.sh b/t/t3301-notes.sh index d3fd341..dd8675f 100755 --- a/t/t3301-notes.sh +++ b/t/t3301-notes.sh @@ -1222,6 +1222,10 @@ test_expect_success 'git notes get-ref (--ref)' ' test "$(GIT_NOTES_REF=refs/notes/bar git notes --ref=baz get-ref)" = "refs/notes/baz" ' +test_expect_success 'non-blobs cannot be edited using editor' ' + test_must_fail git notes add -f -c HEAD^{tree} +' + test_expect_success 'add -C happily takes object of any kind' ' git notes add -f -C HEAD^{tree} ' -- 1.7.3.1.256.g2539c.dirty