Re: Bug: commit -p breaks with -m

2013-08-15 Thread Jeff King
On Thu, Aug 15, 2013 at 12:43:39AM -0400, Matan Nassau wrote:

 With git 1.8.3.3,
 
  $ seq 5 data
  $ git add data
  $ git commit -mdata
  $ sed -i '2 d' data
  $ git commit -pmchange
 
 At the prompt, type e to edit the hunk. The editor doesn't start, but
 git records a commit.
 
 I found that builtin/commit.c sets the GIT_EDITOR env var to : when
 the user specifies the -m option. This was done in 406400ce4f69.
 Removing these two lines,
 
  if (!use_editor)
  setenv(GIT_EDITOR, :, 1);
 
 seems to fix the issue, but I'm not sure this won't break the
 prepare-commit-msg hook. I'd like to submit a patch: can I get a hint
 if this change would break commit hooks or anything else I'm not
 seeing?

Yeah, that is definitely a bug. Just removing those lines would not be the
right fix, though, because the point of them is to let the
prepare-commit-msg hook know whether or not an editor is in use.

Instead, I think you would want to limit the scope of where we have set
GIT_EDITOR. I.e., drop those lines, and then add GIT_EDITOR=: to the
environment that we pass to the hook via the run_hook function.
Unfortunately, I think that will require some refactoring of the
run_hook interface, which does not allow arbitrary environment
parameters to be set.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Bug: commit -p breaks with -m

2013-08-15 Thread Junio C Hamano
Jeff King p...@peff.net writes:

 Unfortunately, I think that will require some refactoring of the
 run_hook interface, which does not allow arbitrary environment
 parameters to be set.

Heh, I said that long time ago, e.g. $gmane/212284 ;-)

This might turn out to be a good starting point, even though I
didn't read it again before sending this message.

http://thread.gmane.org/gmane.comp.version-control.git/192669/focus=192806
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Bug: commit -p breaks with -m

2013-08-15 Thread Jeff King
On Thu, Aug 15, 2013 at 10:28:16AM -0700, Junio C Hamano wrote:

 Jeff King p...@peff.net writes:
 
  Unfortunately, I think that will require some refactoring of the
  run_hook interface, which does not allow arbitrary environment
  parameters to be set.
 
 Heh, I said that long time ago, e.g. $gmane/212284 ;-)
 
 This might turn out to be a good starting point, even though I
 didn't read it again before sending this message.
 
 http://thread.gmane.org/gmane.comp.version-control.git/192669/focus=192806

Looking at both of those messages, I agree completely. I even started
to sketch out the refactoring when I sent the previous message, and it
looked a lot like the patch you sent.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Bug: commit -p breaks with -m

2013-08-14 Thread Matan Nassau
With git 1.8.3.3,

 $ seq 5 data
 $ git add data
 $ git commit -mdata
 $ sed -i '2 d' data
 $ git commit -pmchange

At the prompt, type e to edit the hunk. The editor doesn't start, but git 
records a commit.

I found that builtin/commit.c sets the GIT_EDITOR env var to : when the user 
specifies the -m option. This was done in 406400ce4f69. Removing these two 
lines,

 if (!use_editor)
 setenv(GIT_EDITOR, :, 1);

seems to fix the issue, but I'm not sure this won't break the 
prepare-commit-msg hook. I'd like to submit a patch: can I get a hint if this 
change would break commit hooks or anything else I'm not seeing?--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html