Thread (1 message) 1 message, 1 author, 2016-06-15

Re: "git fmt-merge-msg" usage

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:58:26

Michael Haggerty [off-list ref] writes:
On 07/15/2013 11:43 PM, Junio C Hamano wrote:
quoted
[...]
This was a good exercise for git-imerge.[...]

A few things I noticed:
 [...]

 - The final step "imerge finish" gave me this ugliness:

     Merge commit 93d9353... into commit cb5d2fc7

   Perhaps you can at least use the initial branch name
   "nd/magic-pathspec" I gave you, and use "git fmt-merge-msg"?
I tried to implement this but it is not obvious from the documentation
(to say the least) how to use "git fmt-merge-msg".  It appears that this
program takes, on standard input, something like

    <sha1> TAB TAB <text1> LF
    <sha1> TAB TAB <text2> LF
    <sha1> TAB TAB <text3> LF
    ...

(the two TABs are required!).
Correct; fmt-merge-msg is designed to read FETCH_HEAD that can have
'not-for-merge' marker between these two HTs.  <text$N> are also
expected to be in a specific format to explain where the object
being merged described by the line came from.
But a bit of the magic of these merge messages is how the <text> are
generated in the first place; e.g.,

    refs/heads/foo -> "branch 'foo'"
    refs/remotes/bar/baz -> "remote-tracking branch 'bar/baz'"

Is this magic available via any Git commands, or do I have to replicate it?
This is all internal to "fetch" and "git merge", which are the only
things that need to know the specifics.  store_updated_refs() is
where entries in FETCH_HEAD are written.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help