Subject: Re: branch description

From: Jakub Narebski <[email-masked]>
Date: Fri, 18 Apr 2008 23:58:30 +0200

On Wed, 16 April 2008, Johan Herland wrote:

[cut that being able to propagate description of branches is a good idea]

> However, I do agree that putting branch description inside the working tree
> is not the right solution. So far, the best proposal I've seen, is Hommey's
> suggestion of storing the description after the sha1 in the ref file itself.
> Of course, git would have to be taught (a) to handle ref files with
> descriptions, and (b) to propagate descriptions along with refs.

(c) find a place for branch descriptions in packed refs.

Let me sum up here proposals where to put branch description:
1. Put them in branch.<name>.description in repository config. Not easily
   (automatically) propagated for dumb transports.
2. Put them in-tree, which is a bad idea because branches are
   un-versioned (or versioned separately), so branches description
   should also be un-versioned.
3. Put them in GIT_DIR/info/refs_description, in some format.  It makes
   it very easy to add support for propagation for dumb transports.
   Native transport probably would need some extension.  Should not
   interfere with the rest of git code.
4. Store description after sha1 in the ref file itself.  Automatic
   propagation for dumb transport (whether we want it or not).  Native
   transport as above.  Very high probabily of interfering with the rest
   of code, especially shell part of Git.  Need to find a place for
   descriptions in pack-refs.
5. Store them as value of 'refs/heads/<branch>' file in a tree for
   a commit for a special '<description>' separate special branch; at least
   if I understand this proposal correctly.  Something like IIRC the
   'notes' / 'annotations' idea was implemented (on git mailing list;
   it never got into mainline).

I think that the best proposal is (3), not (4) as you say.
-- 
Jakub Narebski
Poland