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

Re: [BUG] (git commit --patch --message $MESSAGE) disallows hunk editing

From
Max Nanasy <max.nanasy@gmail.com>
Date
Sep 29, 2014, 23:01 UTC
Message-ID
<loom.20140930T005553-169@post.gmane.org>
In-Reply-To
<CAM998vGieYU+8s1ermDJSfT8Zu8jDRS4WLjypraoB3iOf+qH7g@mail.gmail.com>
Max Nanasy <max.nanasy <at> gmail.com> writes:
Show 23 quoted lines
> 
> Tested against v1.7.12.4
> 
> Steps to reproduce:
> 	A. cd $DIRTY_WORKING_COPY
> 	B. git commit --patch --message $MESSAGE
> 	C. Stage this hunk? e
> Expected behavior:
> 	After step C, the hunk opens in the user's editor
> Actual behavior:
> 	After step C, the hunk is selected unedited (as if the user had entered "y")
> 
> AFAICT, this occurs because of the following code in
> builtin/commit.c:parse_and_validate_options:
> 	if (... || message.len || ...)
> 		use_editor = 0;
> 	...
> 	if (!use_editor)
> 		setenv("GIT_EDITOR", ":", 1);
> Because --message is specified, GIT_EDITOR is set to ":", which
> prevents the user from editing hunks, although the intent is most
> likely to just prevent the user from editing the commit message.
> 
It appears that this was fixed in version 2.0.  The changelog entry says:
 * When it is not necessary to edit a commit log message (e.g. "git
   commit -m" is given a message without specifying "-e"), we used to
   disable the spawning of the editor by overriding GIT_EDITOR, but
   this means all the uses of the editor, other than to edit the
   commit log message, are also affected.
   (merge b549be0 bp/commit-p-editor later to maint).
Previous: Pierre-Olivier Vares
Message 3 of 3 in “[BUG] (git commit --patch --message $MESSAGE) disallows hunk editing”
  1. Max NanasyOct 23, 2012
  2. Pierre-Olivier VaresFeb 26, 2014
  3. Max NanasySep 29, 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.