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

How to add custom metadata to Git commit object

From
Kirill Likhodedov <kirill.likhodedov@jetbrains.com>
Date
May 30, 2016, 17:58 UTC
Message-ID
<959E96F7-0FF3-4336-B098-58836136DB08@jetbrains.com>

Is it possible to add custom metadata to Git commit object? Such metadata should be ignored by Git commands, but could be used by a 3-party tool which knows the format and knows where to look.

I assume that this should be possible, given that Git objects are actually patches, and patches can contain additional details. But can this be done with the help of Git commands? 
----
The reason why I am asking this - is to create a tool which could overcome false rename detection. 
As all of you know, if I make significant changes to the code together with rename, Git won’t detect this rename and will treat this change as added + deleted. And sometimes there are false rename detections as well. It would be useful to record the fact of rename and use it afterwards.
If a user is developing with our IDE (IntelliJ IDEA), we could remember the fact that he renamed a file, then write this information to the commit object, and when the commit information is requested (e.g. from the git log graphical view), the IDE could read the additional information of the commit and display the file as renamed, not as added + deleted. The IDE could also use this information to follow rename through the file history.
As a real example, in our project we are converting a lot of files from Java to Kotlin, and such conversion always looses history unless the developer remembers to prepare a separate rename-commit first, which is tedious. 
There are git-notes, which could be used for the purpose, but they are visible to the user via standard Git command, and could be used by the user for other purposes, so they are not very suitable for the task.

Thanks a lot! -- Kirill

Next: Konstantin Khomoutov
Message 1 of 6 in “How to add custom metadata to Git commit object”
  1. Kirill LikhodedovMay 30, 2016
  2. Konstantin KhomoutovMay 30, 2016
  3. Jeff KingMay 30, 2016
  4. Junio C HamanoMay 30, 2016
  5. Kirill LikhodedovMay 31, 2016
  6. Junio C HamanoMay 31, 2016

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.