Subject: Re: branch description as a note?

From: Junio C Hamano <[email-masked]>
Date: Thu, 12 Dec 2024 01:11:06 +0900

"Bence Ferdinandy" <[email-masked]> writes:

> so I've been wondering about branch descriptions being just a local
> configuration. The only use-case I know for them is generating cover letters
> and request-pull, although I could imagine maybe the maintainer uses branch
> descriptions for storing the - well - branch descriptions for the "What's
> cooking" emails and the merge commit messages. 

FWIW, that is not how I maintain "What's cooking".  Rather, the next
issue os "What's cooking" is pretty much edited manually, plus a
tool that notices when an existing topic advances in order to insert
these "(merged to 'next' on such and such day)" lines and turn '-'
bullets into '+', and move topics from other sections to 'graduated'
section.  Especially when writing comments on a topic, being able to
read about other topics (which may be related) and the list of titles
helps a lot.

There may be folks who find branch descriptions a useful way to keep
a quick reminder about the branch.  I was also hoping it may be like
so, but I seem to have failed to exploit it as a useful component in
my workflow.

> Now my problem with the description being a local configuration, is that
> I often work on patches on two different computers. I can easily share my patch
> notes with myself, but not the branch description. If these could be pushed and
> fetched like a note, I think that would open up some other nice possibilities
> as well, like having a standard place for MR/PR messages for forges, sharing
> proposed merge commit messages, maybe other things.

If this is about draft work, I would use an empty commit at the tip
of the branch.

> For my personal issue of sharing branch descriptions with myself, I could
> probably just make up a convention for myself, say using refs/notes/branches,
> but it would be nice to have this built in, instead of the local config branch
> description.
>
> From usage perspective I could imagine a new `--branch` flag for notes, which
> would tell `git notes` to operate on notes attached to branches instead of
> specific commits, probably stored under refs/notes/branches by default. Maybe
> add an `--edit-branch-note` to `git branch`. And of course have the option to
> use this note instead of the description configuration wherever it makes sense.
>
> What do you think?

The notes tree is a hashmap that uses object names as the key.  The
point of a branch is that it can grow by accumulating new commits on
it, or its commits rewritten with "rebase -i", and there are branches
with more than one commit.  So to what commit on the branch would you
hang such a note on?