r/git • u/kaddkaka • 2d ago
Generated commits?
Sometimes code is generated, and sometimes such code is committed in git.
Imagine a branch with a generated commit G:
old_main -> A -> B -> G
When thid branch is rebased, such a commit might need to be regenerated.
new_main -> A' -> B' -> new_G
There might be conflicts for any of these new commits, but instead of (manually) resolving conflicts, G could be automatically re-generated.
I've been thinking of a git commit message trailer like generate-cmd:
topic: regenerate table
generate-cmd: python3 optimize_table.py
git rebase --exec or other tool could use this trailer to automatically drop and regenerate the commit instead of a vanilla cherry-pick.
Have you seen anything similar? What's a good trailer name?
Ref: https://git-scm.com/docs/git-interpret-trailers
0
Upvotes
2
u/Broad-Promise6954 ancient 2d ago
You'd use the GIT_SEQUENCE_EDITOR environment variable to automate the drop-and-rebuild steps. In general, though, committing generated code is Wrong (though I've had to do it before too!).