threads / discuss / 54653

FETCH_HEAD format is undocumented

Subject: FETCH_HEAD format is undocumented

## tl;dr

2 messages between Nov 16, 2020 and Nov 16, 2020.

replies: 1people: 2as markdown or json

Philippe Blain· Nov 16, 2020, 17:13 UTC · lore
Hi,

While trying to use `git fmt-merge-msg`, I figured it only accepts inputs in the format used in the 'FETCH_HEAD' file.

I then tried to find a description of the format of this file in the documentation, but could not find any. For example, 'git grep not-for-merge' in /Documentation returns a single hit, in the release notes for Git 2.5.0.

I think it could be good if we documented the FETCH_HEAD format.
Cheers,
Philippe.
Junio C Hamano· Nov 16, 2020, 19:03 UTC · re: Philippe Blain · lore

Re: FETCH_HEAD format is undocumented

Philippe Blain <levraiphilippeblain@gmail.com> writes:
Show 8 quoted lines
> While trying to use `git fmt-merge-msg`, I figured it only accepts
> inputs in the format used in the 'FETCH_HEAD' file.
>
> I then tried to find a description of the format of this file in the documentation, 
> but could not find any. For example, 'git grep not-for-merge' in /Documentation
> returns a single hit, in the release notes for Git 2.5.0.
>
> I think it could be good if we documented the FETCH_HEAD format.

Not just the format of FETCH_HEAD file, but the whole usage of fmt-merge-msg is meant as a mere implementation detail of the one-way communication from "git fetch" to "git merge". I'd rather leave it opaque so that we can update the format as needed. For one thing it is impossible to do i18n with the current format, I think, which some folks may eventually want to change.

I am OK with documenting it somewhere in Documentation/technical/ with a warning written in big red letters that it is subject to change, to clearly mark that the format of the file should not be relied upon and the only useful thing you could do is to rely on the fact that its first 40-byte gives one object name (so you could say "git log ...FETCH_HEAD" for example) and to feed it to "git merge".

← back to recent threads