diff options
author | Johan Herland <johan@herland.net> | 2014-02-12 10:54:16 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-02-20 14:14:33 -0800 |
commit | ce8daa1eb863c9cdefb06feae2ee7c742ea89847 (patch) | |
tree | 448c60ed092b4bc7130e11212082831cc82b9898 /git-sh-setup.sh | |
parent | Git 1.8.4.5 (diff) | |
download | tgif-ce8daa1eb863c9cdefb06feae2ee7c742ea89847.tar.xz |
notes: disallow reusing non-blob as a note object
Currently "git notes add -C $object" will read the raw bytes from $object,
and then copy those bytes into the note object, which is hardcoded to be
of type blob. This means that if the given $object is a non-blob (e.g.
tree or commit), the raw bytes from that object is copied into a blob
object. This is probably not useful, and certainly not what any sane
user would expect. So disallow it, by erroring out if the $object passed
to the -C option is not a blob.
The fix also applies to the -c option (in which the user is prompted to
edit/verify the note contents in a text editor), and also when -c/-C is
passed to "git notes append" (which appends the $object contents to an
existing note object). In both cases, passing a non-blob $object does not
make sense.
Also add a couple of tests demonstrating expected behavior.
Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'git-sh-setup.sh')
0 files changed, 0 insertions, 0 deletions