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

Re: Storing (hidden) per-commit metadata

From
Jelmer Vernooij <jelmer@samba.org>
Date
Feb 22, 2010, 11:59 UTC
Message-ID
<1266839972.4575.38.camel@ganieda>
In-Reply-To
<20100222112845.GE10191@dpotapov.dyndns.org>
On Mon, 2010-02-22 at 14:28 +0300, Dmitry Potapov wrote:
Show 12 quoted lines
> On Mon, Feb 22, 2010 at 10:56:47AM +0100, Jelmer Vernooij wrote:
> > 
> > There is no need for that data to be added later for revisions that did
> > not originate from Bazaar. All of the metadata that has to be stored
> > will be known at the time the commit is created. Those commits that were
> > made in Git later will not have any metadata that can not be represented
> > in Git (they were made with Git, after all).
> If so, I do not see why any metadata should be stored in Git at all. If
> you can work without them then why do you want to add to Git? And then
> how about commit that originated in Git then exported to Bazaar and then
> imported back at Git? It is still originated in Git and thus should not
> have any metadata despite being imported from Bazaar.

Commits that originated in Git do not contain any Bazaar-specific metadata, even if they also lived in Bazaar at some point, because they could not have been set by Git at commit time.

We would only add the metadata for revisions that did not come out of Git originally.

We'd like to have the extra metadata in Git so that we can push Bazaar commits into a Git repository losslessly. If we can't do this losslessly then the identity of the commit changes just like it does in git if you aren't able to produce the same tree, blob and commit objects.

Show 10 quoted lines
> > Having a bzr/master ref means that the extra metadata will not always be
> > copied around (unless git is patched), so if I push my work from Bazaar
> > into Git, somebody works on it in Git and pushes a derived branch and
> > then somebody else clones that derived Git branch into Bazaar again, I
> > will not be able to communicate with that person's branch.
> No matter how many times a branch was cloned, it is exactly same branch
> (i.e. it consists of commits having exactly the same id). So, if you can
> work with the original branch, you can work with any cloned branch. So,
> I see no need to copy this data around for people who do not work with
> Bazaar directly.

The original branch is a Bazaar branch here, so that's not true. You can only work with any cloned branch if the matching bzr/ branch is also around. If it isn't then you won't be able to find the original commit.

hg-git already does something similar by putting a --HG-- line followed by hg-git specific metadata in the commit message when it pushes into Git. I'd like to find a place to put this data that's not as intruisive for users.

Cheers,
Jelmer
Previous: Dmitry PotapovNext: Dmitry Potapov
Message 11 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.