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

Re: Log messages beginning # and git rebase -i

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Jul 29, 2015, 16:03 UTC
Message-ID
<vpqmvyfeysc.fsf@anie.imag.fr>
In-Reply-To
<xmqqvbd39cxj.fsf@gitster.dls.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 27 quoted lines
> Matthieu Moy <Matthieu.Moy@grenoble-inp.fr> writes:
>
>> Duy Nguyen <pclouds@gmail.com> writes:
>>
>>> On Wed, Jul 29, 2015 at 12:48 AM, Matthieu Moy
>>> <Matthieu.Moy@grenoble-inp.fr> wrote:
>>>>> If the user wants whatever she types in the resulting commit
>>>>> literally, there is the "--cleanup=<choice>" option, no?
>>>>
>>>> $ GIT_EDITOR=touch git commit --cleanup=verbatim
>>>> [detached HEAD 1b136a7] # Please enter the commit message for your
>>>> changes. Lines starting # with '#' will be kept; you may remove
>>>> them yourself if you want
>>>> to. # An empty message aborts the commit. # HEAD detached from
>>>> 5e70007 # Changes to be committed: # modified: foo.txt # # Changes
>>>> not staged for commit
>>>> : #     modified:   foo.txt # # Untracked files: #      last-synchro.txt #
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> You really don't want that in day-to-day use.
>
> I do not quite follow this example.
>
> The user said "I'll be responsible for cleaning up" by giving the
> option.  It is up to the user to use an editor that is something a
> bit more intelligent than "touch" to remove the instructional
> comments meant for humans after reading them.

Yes, --cleanup=verbatim does what it says it does. Now, my claim is that it does not answer the use-case "I want an easy way to talk about # in a commit message". First, you have to specify --cleanup=verbatim _before_ typing the message, hence before knowing that you may need a #.

Then, as you say, it is up to the user to remove things that Git has added. Why would we ask the user to do this when we have a way to have the tool do it?

Show 5 quoted lines
>> 2) Modify Git to add scissors by default, and use --cleanup=scissors by
>>    default.
>
> I just did "$ git commit --amend --cleanup=scissors" (with and
> without --amend) and it seems to do exactly that ;-).

Ah, I did my test in the same repo I messed-up with --cleanup=verbatim. It's better than I thought then. So a viable alternative to the backslas-escaping would be to change commit.cleanup to scissors by default.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Previous: Junio C HamanoNext: Junio C Hamano
Message 17 of 18 in “Log messages beginning # and git rebase -i”
  1. Ed AvisJul 27, 2015
  2. Eric SunshineJul 27, 2015
  3. Duy NguyenJul 28, 2015
  4. Ed AvisJul 28, 2015
  5. Matthieu MoyJul 28, 2015
  6. Junio C HamanoJul 28, 2015
  7. Ed AvisJul 28, 2015
  8. Matthieu MoyJul 28, 2015
  9. Junio C HamanoJul 28, 2015
  10. Matthieu MoyJul 29, 2015
  11. Ed AvisJul 29, 2015
  12. allow commentChars in commit messagesCorentin BOMPARD, Apr 22, 2019
  13. Duy NguyenJul 29, 2015
  14. Matthieu MoyJul 29, 2015
  15. Duy NguyenJul 29, 2015
  16. Junio C HamanoJul 29, 2015
  17. Matthieu MoyJul 29, 2015
  18. Junio C HamanoJul 29, 2015

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.