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

From: Junio C Hamano <[email-masked]>
Date: Mon, 13 Jul 2015 14:19:41 -0700

Mike Hommey <[email-masked]> 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 <[email-masked]>
> ---
>  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.