Re: git branch --edit-description a custom file
From: Phillip Wood <hidden>
Date: 2019-10-31 11:00:08
Hi On 31/10/2019 10:22, Johannes Schindelin wrote:
Hi Peff, On Thu, 31 Oct 2019, Jeff King wrote:quoted
On Wed, Oct 30, 2019 at 03:43:28PM -0700, Denton Liu wrote:quoted
On Wed, Oct 30, 2019 at 04:28:35PM -0400, Jeff King wrote: Dscho brought up in the GGG thread[1] that perhaps we want to treat branch descriptions like notes and have them all under something like `refs/notes/branches`. This would certainly solve my problem of having versioned descriptions and it would probably do it in a much more general way than having a versioned included config. Anyone see any potential problems with this approach?I don't think it would be `refs/notes/`, as that is assumed to contain mappings of object ids (and if I understand correctly, this would be a mapping of branch names to data. You could just have "refs/meta/descriptions/foo" pointing to a blob which contains the description of "refs/heads/foo". That makes it easy to edit descriptions, even if you don't like using "git branch --edit-description".The only problem with this is that it's not really versioned, as it would be hard to go back to previous versions and/or share the history via pushing to a remote repository. But I guess that a very simple pseudo branch would do it, where `refs/meta/<branch-name>` would point to a commit that has a tree with a single file in it: `description.txt`.
Having some way to share branch metadata would be nice. I like the idea of using commits so we can merge changes and revert to a previous version. There is some previous discussion here [1]. I'd really like to be able to share the upstream for a branch between two computers as well. I also use a commit containing a tree with a single file stored at refs/todo/<branch> (and fetched to refs/remote/<remote>/todo/<branch>) to share todo lists with notes and ideas for future commits on branches that I'm working on on more than one machine. Having them version controlled so they can be merged has been useful. Best Wishes Phillip [1] https://public-inbox.org/git/1519324188.6391.156.camel@mad-scientist.net/
I now like that idea a lot better than my original notes idea. Ciao, Dschoquoted
You could also have "refs/meta/descriptions" to point to a _single_ blob with all of the descriptions. It could even be in the existing config format. And then you could include it with "[include] blob = ...". That doesn't exist yet, but it would be easy to add (it was something I had always considered when writing the config-include code, but there was never really a good use; and you do have to be careful about pointing to untrusted blobs). That's a convoluted way to get where you want, but I wonder if integrating to the existing config system would have any benefits. I haven't really thought it through. (Of course that's also only one step away from having a versioned config file in your .git directory, but it might possibly be a bit easier to manage, since it would always be committed). That's mostly off-the-top-of-my-head rambling, so please disregard anything that seems totally off-base. :) -Peff