git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git branch --edit-description a custom file

From
Jeff King <peff@peff.net>
Date
Oct 31, 2019, 18:06 UTC
Message-ID
<20191031180632.GB2133@sigill.intra.peff.net>
In-Reply-To
<20191031173507.GA70819@generichostname>
On Thu, Oct 31, 2019 at 10:35:07AM -0700, Denton Liu wrote:
Show 18 quoted lines
> > 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.
> 
> I like the ability to include blobs for several reasons:
> 
> Main one is that it handles the versioned branch description problem.
> But it goes further than that, there are a lot of config properties that
> teams might want to share amongst each other. For example, whenever a
> project has a custom smudge filter, usually they include some sort of
> config in the project's README or some sort of setup script. With some
> way to include a shared version of some config, this might be simpler.

There are some past discussions on sharing config, and the security issues around it. The crux of it is that you probably ought to be vetting config you get from elsewhere (because it can execute arbitrary code). At which point being able to refer to a blob isn't all _that_ useful, because these two processes are not all that different:

  git show origin/meta:shared-config
  # ok, looks good; _don't_ just include it by that name, though,
  # because it may be updated by a fetch
  git branch -f meta origin/meta
  git config include.blob meta:shared-config
  git show origin/meta:shared-config
  # ok, looks good
  git cat-file blob origin/meta:shared-config >.git/shared-config
  git config include.path shared-config

There's a specific discussion I'm thinking of which goes into this line of thinking, but I'm having trouble finding it in the archive. But IIRC, the conclusion was negative towards directly including the blob because it doesn't make life better for careful users, and it makes it very easy to be unsafe for non-careful users.

There's also some (negative) discussion in this much older subthread:
  https://public-inbox.org/git/20120126074208.GD30474@sigill.intra.peff.net/
-Peff
Previous: Denton Liu
Message 21 of 21 in “git branch --edit-description a custom file”
  1. Denton LiuOct 30, 2019
  2. Jeff KingOct 30, 2019
  3. Denton LiuOct 30, 2019
  4. Jeff KingOct 31, 2019
  5. Johannes SchindelinOct 31, 2019
  6. Phillip WoodOct 31, 2019
  7. Johannes SchindelinOct 31, 2019
  8. Philip OakleyOct 31, 2019
  9. Jeff KingOct 31, 2019
  10. Philip OakleyNov 3, 2019
  11. Jeff KingNov 4, 2019
  12. Junio C HamanoNov 4, 2019
  13. Denton LiuOct 31, 2019
  14. Phillip WoodOct 31, 2019
  15. Jeff KingOct 31, 2019
  16. Phillip WoodNov 1, 2019
  17. Jeff KingNov 1, 2019
  18. Phillip WoodNov 1, 2019
  19. Junio C HamanoNov 2, 2019
  20. Denton LiuOct 31, 2019
  21. Jeff KingOct 31, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.