Subject: Re: [RFC 06/11] Add support for mark references as path names

From: "Shawn O. Pearce" <[email-masked]>
Date: Mon, 27 Jul 2009 11:35:17 -0700

Johan Herland <[email-masked]> wrote:
> On Monday 27 July 2009, Shawn O. Pearce wrote:
> > I think you need to find another back door, something that the
> > language wouldn't have considered as valid previously.
> 
> Ok. One (moderately hideous) option is to introduce new commands m/d/r/c 
> that works just like M/D/R/C, except that they also expand mark 
> references (leaving M/D/R/C with the old behaviour). I don't know how 
> you'd feel about that...

Bleh.  Because I think this has more truth to it:
 
> However, I'm also pondering Dscho's idea of organizing note trees into 
> hierarchies (to limit #entries in tree objects), and (although I have 
> yet to try to implement this) it feels like this transformation should 
> be done in the notes.c code, which means that it must happen on 
> the "git side" of fast-import (at least the transformation should not 
> happen on the "external side" of fast-import). This ultimately means 
> that we cannot handle notes as "regular" trees and commits (which is 
> what I'm trying to do with the help of this patch), and suggests that 
> instead of using 'commit' with 'M' for adding notes, we should probably 
> have a dedicated 'note' fast-import command that collects note objects, 
> and does the tree transformation and subsequent commit upon 
> checkpoint/exit.

Exactly.  We probably want to do this instead.

Though you might want the "note" command to be a subcommand of
commit, like M/D/R/C are, because notes are wrapped up inside of
a commit and you can modify multiple notes in a single commit.

-- 
Shawn.