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

Re: [PATCH 3/4] Documentation/notes: describe content of notes

From
Johan Herland <johan@herland.net>
Date
May 4, 2010, 09:55 UTC
Message-ID
<201005041155.02192.johan@herland.net>
In-Reply-To
<20100503234229.GC27483@progeny.tock>
On Tuesday 04 May 2010, Jonathan Nieder wrote:
Show 16 quoted lines
> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
> ---
>  Documentation/git-notes.txt |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/git-notes.txt b/Documentation/git-notes.txt
> index 0594776..273264b 100644
> --- a/Documentation/git-notes.txt
> +++ b/Documentation/git-notes.txt
> @@ -27,6 +27,10 @@ By default, notes are saved to and read from
> `refs/notes/commits`, but this default can be overridden.  See the
> CONFIGURATION and ENVIRONMENT sections below.
> 
> +Notes can contain any sequence of non-null bytes.  Since they are
> +sanitized with linkgit:git-stripspace[1], empty lines other than a
> +single line separating paragraphs are not significant.

In principle, a note is a regular Git (blob) object, and can contain NUL bytes - indeed any kind of (non-)format is accepted.

However, the stripspace/text-based formatting kicks in when specifying the notes content with -m or -F, or when an editor is used to edit the notes.

So as long as you stick to the following subcommands, notes should be completely binary-safe:

- git notes [list [<object>]]
- git notes add [-f] -C <note-object> <object>
- git notes copy [-f] <from-object> <to-object>
- git notes show [<object>]
- git notes remove [<object>]
- git notes prune

In other words, you can (binary-safely) create notes from files with the following construct:

    git notes add -C $(git hash-object -w <file>) <object>

Of course, it doesn't make much sense displaying non-text-format notes with 'git log', so if you use such notes you'll probably need to write some special-purpose tools for doing anything useful with them.

Otherwise, your other 3 patches seem fine to me (modulo Thomas Rast's 
comments) and you can consider them
Acked-by: Johan Herland <johan@herland.net>
Have fun! :)
...Johan
-- 
Johan Herland, <johan@herland.net>
www.herland.net
Previous: Thomas RastNext: Jeff King
Message 7 of 11 in “Documentation/notes: fill out the man page a little”
  1. 0/4 Documentation/notes: fill out the man page a littleJonathan Nieder, May 3, 2010
  2. 1/4 Documentation/notes: describe effect of environment and configurationJonathan Nieder, May 3, 2010
  3. Thomas RastMay 4, 2010
  4. 2/4 Documentation/notes: adjust description to use configuration sectionJonathan Nieder, May 3, 2010
  5. 3/4 Documentation/notes: describe content of notesJonathan Nieder, May 3, 2010
  6. Thomas RastMay 4, 2010
  7. Johan HerlandMay 4, 2010
  8. Jeff KingMay 5, 2010
  9. 4/4 Documentation/notes: nitpicksJonathan Nieder, May 3, 2010
  10. Thomas RastMay 4, 2010
  11. Jonathan NiederMay 4, 2010

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.