Re: git branch --edit-description a custom file
From: Johannes Schindelin <hidden>
Date: 2019-10-31 10:22:39
Hi Peff, On Thu, 31 Oct 2019, Jeff King wrote:
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`. I now like that idea a lot better than my original notes idea. Ciao, Dscho
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