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

Re: Storing (hidden) per-commit metadata

From
Alejandro R. Sedeño <asedeno@mit.edu>
Date
Feb 22, 2010, 22:13 UTC
Message-ID
<4B83018E.3020608@mit.edu>
In-Reply-To
<1266599485.29753.54.camel@ganieda>
On 02/19/2010 12:11 PM, Jelmer Vernooij wrote:
Show 5 quoted lines
> To allow round-tripping pushes from Bazaar into Git, I'm looking for a
> good place to store Bazaar semantics that can not be represented in Git
> at the moment. This data should ideally be hidden from the user as much
> as possible; it would e.g. contain mappings from git hashes to Bazaar
> ids.

I've been having similar thoughts for git-svn, since I am working with a very large svn repository that uses svn:keywords and svn:externals in a few places. I've written some scripts to parse the git-svn unhandled.log, but that does not propagate to other git clones of the repo, and rebuilding the log is about as expensive as cloning the svn repo again. Also, querying for externals is slow, presumably because git-svn needs to talk to svn to fetch them.

So far, I have been leaning towards having an optional tree associated with commits, in which metadata could be stored. This metadata tree would be propagated by git clone, used by remote helper scripts, and be quite ignorable if unneeded. The metadata tree would use sub-trees for namespaces. For instance, a sub-tree called git-svn would contain the revision map, externals, ignores, properties, etc.

This isn't fully thought out yet, and I'm not even sure if it would work, or be backwards-compatible. However, since the topic came up, I figured I should mention what I had so far.

Preemptive: No, I don't like svn:keywords, but I can't just ignore them.
Preemptive: Yes, I considered notes in a different GIT_NOTES_REF, but I
feel those are too loosely coupled to the commits. I could be wrong, and
have not completely dismissed them yet.
-Alejandro
Previous: Jelmer Vernooij
Message 19 of 19 in “Storing (hidden) per-commit metadata”
  1. Jelmer VernooijFeb 19, 2010
  2. Ben GamariFeb 20, 2010
  3. Avery PennarunFeb 20, 2010
  4. Jeff KingFeb 21, 2010
  5. Johannes SchindelinFeb 21, 2010
  6. Jeff KingFeb 21, 2010
  7. Jelmer VernooijFeb 21, 2010
  8. Dmitry PotapovFeb 22, 2010
  9. Jelmer VernooijFeb 22, 2010
  10. Dmitry PotapovFeb 22, 2010
  11. Jelmer VernooijFeb 22, 2010
  12. Dmitry PotapovFeb 22, 2010
  13. Jelmer VernooijFeb 22, 2010
  14. Dmitry PotapovFeb 22, 2010
  15. Jelmer VernooijFeb 22, 2010
  16. Jelmer VernooijFeb 22, 2010
  17. Gabriel FilionFeb 22, 2010
  18. Jelmer VernooijFeb 22, 2010
  19. Alejandro R. SedeñoFeb 22, 2010

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.