Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] notes: Allow treeish expressions as notes ref

From: Junio C Hamano <hidden>
Date: 2016-06-15 23:05:45

Mike Hommey [off-list ref] writes:
init_notes() is the main point of entry to the notes API. It is an arbitrary
restriction that all it allows as input is a strict ref name, when callers
may want to give an arbitrary treeish.

However, some operations that require updating the notes tree require a
strict ref name, because they wouldn't be able to update e.g. foo@{1}.

So we allow treeish expressions to be used in the case the notes tree is
going to be used without write "permissions", and to distinguish whether
the notes tree is intended to be used for reads only, or will be updated,
a flag is added.

This has the side effect of enabling the use of treeish as notes refs in
commands allowing them, e.g. git log --notes=foo@{1}.

Signed-off-by: Mike Hommey <redacted>
---
 builtin/notes.c  | 29 ++++++++++++++++-------------
 notes-cache.c    | 11 ++++++-----
 notes-utils.c    |  6 +++---
 notes.c          | 11 +++++++----
 notes.h          | 10 +++++++++-
 t/t3301-notes.sh | 10 ++++++++++
 6 files changed, 51 insertions(+), 26 deletions(-)
At least Documentation/pretty-options.txt needs to be updated, as it
explicitly requests you to feed a ref, but you'd want to tell the
users that you loosened it.  I suspect Documentation/git-notes.txt
may also need adjustment as that involves writing side, but I didn't
look very carefully.

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help