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

[RFC] improving advice message from "git commit" during a merge

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 27, 2014, 18:23 UTC
Message-ID
<xmqq4mwxeqr7.fsf@gitster.dls.corp.google.com>

When there are unmerged paths, you would often get something like this:

    [git.git (pu|MERGING]$ git commit
    U       copy.c
    U       wrapper.c
    error: commit is not possible because you have unmerged files.
    hint: Fix them up in the work tree, and then use 'git add/rm <file>'
    hint: as appropriate to mark resolution and make a commit, or use
    hint: 'git commit -a'.
    fatal: Exiting because of an unresolved conflict.

which is all good and correct, but I am wondering if we can be a bit more helpful by customizing the message in various ways.

 - When all the unmerged paths have their conflicts resolved in the
   working tree, we do not have to say "Fix them up in the work
   tree,".  We can instead say "You seem to have fixed them up in
   the work tree already," or something.
 - When some of the unmerged paths have their conflicts still in the
   working tree, we can name them separately from the ones that have
   already been dealt with.
    U       copy.c
    U       wrapper.c (conflicts already resolved in the working tree)
 - Hasty-and-careless new users will be incorrectly enticed to type
   the command given by "or use 'git commit -a'" at the end of this
   advice message without thinking.  Perhaps it is safer to stop the
   sentence at "... and make a commit." and drop that last bit while
   there are conflicts still in the working tree files.  We should
   use the current end-of-message only when all the conflicts have
   been resolved in the working tree.
 - The "/rm" in "use 'git add/rm <file>'" is often useless, as it is
   much rarer to remove a path than adding one.  Perhaps show that
   part only when there is a conflicted path with stage #2 but not
   stage #3 (i.e. they kept what we removed) or vice versa.  "add"
   needs to stay there no matter what, as that is how we tell the
   index "this is the final content".
I am not doing this myself soon, though.  Hint, hint...
Next: Jeff King
Message 1 of 11 in “[RFC] improving advice message from "git commit" during a merge”
  1. Junio C HamanoAug 27, 2014
  2. Jeff KingAug 27, 2014
  3. Junio C HamanoAug 27, 2014
  4. merge, pull: stop advising 'commit -a' in case of conflictMatthieu Moy, Aug 28, 2014
  5. Junio C HamanoAug 28, 2014
  6. Matthieu MoyAug 28, 2014
  7. Jonathan NiederAug 28, 2014
  8. Junio C HamanoAug 28, 2014
  9. Matthieu MoyAug 29, 2014
  10. Stefan BellerAug 28, 2014
  11. Junio C HamanoAug 28, 2014

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.