git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] notes: Use get_sha1_committish instead of read_ref in init_notes()

From
Johan Herland <johan@herland.net>
Date
Jun 17, 2015, 16:35 UTC
Message-ID
<CALKQrgfR7AwJ1XY2iPHBAssk_2uKGUJC=J-r7bJVSKaiosc5gw@mail.gmail.com>
In-Reply-To
<xmqqsi9q4b46.fsf@gitster.dls.corp.google.com>
On Wed, Jun 17, 2015 at 5:18 PM, Junio C Hamano <gitster@pobox.com> wrote:
Show 6 quoted lines
> Mike Hommey <mh@glandium.org> writes:
> > I'm tempted to make init_notes itself do the check, based on the value
> > it is given for a "read_only" argument.
>
> Yeah, that would be one sensible way to go after making sure that
> everything goes thru this interface.

Agreed. Furthermore, consider adding the read_only flag (or however you choose to encode it internally) to struct notes_tree, so that the API functions that _manipulate_ notes trees can immediately bail out when used on a read-only tree (i.e. we want them to fail as early as possible).

Show 5 quoted lines
> > On the other hand, some commands
> > do their ref resolving themselves already.
>
> Again, as long as they do not bypass the "read-only" safety you are
> suggesting to add to init_notes(), that is OK.

Agreed. An alternative to adding a simple read_only flag argument is to modify the const char *notes_ref argument into two separate arguments: const char *notes_treeish, and const char *update_ref, where the latter should be NULL for read-only trees. That said, currently the logic for actually updating notes ref lives outside the notes.h API (see commit_notes() in notes-utils.h/c), so there might be room for more consolidation/refactoring here...

...Johan
-- 
Johan Herland, <johan@herland.net>
www.herland.net
Previous: Junio C HamanoNext: Mike Hommey
Message 5 of 22 in “notes: Use get_sha1_committish instead of read_ref in init_notes()”
  1. notes: Use get_sha1_committish instead of read_ref in init_notes()Mike Hommey, Jun 17, 2015
  2. Junio C HamanoJun 17, 2015
  3. Mike HommeyJun 17, 2015
  4. Junio C HamanoJun 17, 2015
  5. Johan HerlandJun 17, 2015
  6. notes: Allow committish expressions as notes refMike Hommey, Jul 8, 2015
  7. notes: Allow committish expressions as notes refMike Hommey, Jul 9, 2015
  8. Johan HerlandJul 10, 2015
  9. notes: Allow treeish expressions as notes refMike Hommey, Jul 10, 2015
  10. Johan HerlandJul 10, 2015
  11. Mike HommeyJul 10, 2015
  12. notes: Allow treeish expressions as notes refMike Hommey, Jul 10, 2015
  13. Junio C HamanoJul 13, 2015
  14. Mike HommeyJul 13, 2015
  15. Junio C HamanoJul 13, 2015
  16. Mike HommeyOct 8, 2015
  17. notes: allow treeish expressions as notes refMike Hommey, Oct 8, 2015
  18. Junio C HamanoOct 8, 2015
  19. Junio C HamanoJul 13, 2015
  20. Jeff KingJun 17, 2015
  21. Mike HommeyJun 17, 2015
  22. Jeff KingJun 17, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.