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

Re: notes metadata?

From
Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date
Feb 8, 2010, 10:32 UTC
Message-ID
<cb7bb73a1002080232u24d74997r1ec4c9a4068b7282@mail.gmail.com>
In-Reply-To
<201002072357.24021.johan@herland.net>
On Sun, Feb 7, 2010 at 11:57 PM, Johan Herland <johan@herland.net> wrote:
Show 26 quoted lines
> On Sunday 07 February 2010, Giuseppe Bilotta wrote:
>> Hello all,
>>
>> ok, this may sound a little odd especially with the 'notes vs
>> metadata' thread going on, but I was wondering: do we store _any_ kind
>> of metadata _about_ the notes themselves? If I'm reading the code
>> correctly, we have neither author nor date information about the notes
>> themselves, so we don't know who added them or when. Is it too late to
>> suggest that this kind of metadata be added to notes? Making them
>> full-blown commit-style objects is probalby overengineered and wrong
>> under many points of view (not to mention probably incompatible with
>> current storage), but maybe we can set up a convention that notes
>> SHOULD be in pseudo-mbox format? This would mean that when a note is
>> created, the template starts with a 'From ' line including the user's
>> name &  email and note creation date; when editing, the note is again
>> augmented with the new author name email and date. Of course the users
>> are then free do expunge the From lines if they don't want it (just
>> commenting it would be enough, of course). How does the idea sound?
>
> NAK
>
> Notes are stored in a notes tree that is changed by making commits on the
> notes ref (see commit_notes() in builtin-notes.c in 'pu'). The commits on
> the notes ref are regular commits with the usual commit metadata (author,
> date, etc.), so if you're interested in who/when a given note was written,
> you can simply point 'git (gui) blame' at the notes tree.

Yup, I was totally overseeing the obvious thing about the notes commit, and up until this morning I thought that settled the issue.

However, this morning I read Junio's posts about the issue of merging notes http://permalink.gmane.org/gmane.comp.version-control.git/139252 and thought that this might be a possible solution.

Junio's root issue is basically that you can only have one note per commit per namespace, and that normally notes from different developers grow from different root commits and are thus unmergeable.

I see two possible solutions to this:
 * one is to allow more than one note per commit per namespace, which
moves a little towards the 'note as a tree' idea, but with severe
restrictions (the tree would be flat and each blob in it would be a
note)
* the other is to keep the notes as single files, but give them a
little bit of structure to make merging easier: my mbox-style idea
would of course only be an idea, but in general by keeping the notes
'sectioned', merging could be reduced to concatenation most of the
times. The mbox approach also has the benefit that you'd have more
information about the single section, so that you could for example
keep them sorted etc.
Just brainstorming here, so feel free to tear down this idea too 8-)
-- 
Giuseppe "Oblomov" Bilotta
Previous: Johan Herland
Message 4 of 4 in “notes metadata?”
  1. Giuseppe BilottaFeb 7, 2010
  2. Jon SeymourFeb 7, 2010
  3. Johan HerlandFeb 7, 2010
  4. Giuseppe BilottaFeb 8, 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.