Subject: Re: Fwd: [Survey] Signed push

From: Johan Herland <[email-masked]>
Date: Wed, 14 Sep 2011 14:28:52 +0200

On Wednesday 14. September 2011, Matthieu Moy wrote:
> Michael Haggerty <[email-masked]> writes:
> > I wish that one could annotate a branch (e.g., at creation) and
> > have the annotation follow the branch around.  This would be a
> > useful place to record *why* you created the branch, your plans
> > for it, etc.  The annotation should be modifiable, because often a
> > branch evolves in unforeseen ways during its lifetime.  Anybody
> > could read the annotation to get a quick idea of what kind of work
> > is in progress.
> 
> Would the notes mechanism be able to annotate ref names instead of
> commit sha1?

This has been discussed on the list before, but I'm too lazy to dig up a 
reference, so:

The notes mechanism can in principle annotate anything that has a SHA1 
sum. The notes tree is really only a key->value mapping using SHA1s as 
keys and Git objects (typically blobs) as values.

HOWEVER, "git notes prune" will assume that the SHA1 keys are supposed 
to identify existing git objects, and will delete any note whose SHA1 
key does not identify a reachable git object.

Hence, if you promise to never run "git notes prune" on 
refs/notes/branch-descriptions, you could use that ref to store your 
branch descriptions keyed by the SHA1 of your branch name.

The obvious deficiency with this scheme is that if your branch name is 
different in some repos, the branch description will be lost in those 
repos unless you rewrite the refs/notes/branch-descriptions notes tree 
accordingly.

...Johan

-- 
Johan Herland, <[email-masked]>
Core Developer, Opera Software ASA