@@ -81,7 +81,8 @@ static const char *template_file;
81
81
static const char * author_message , * author_message_buffer ;
82
82
static char * edit_message , * use_message ;
83
83
static char * fixup_message , * squash_message ;
84
- static int all , edit_flag , also , interactive , patch_interactive , only , amend , signoff ;
84
+ static int all , also , interactive , patch_interactive , only , amend , signoff ;
85
+ static int edit_flag = -1 ; /* unspecified */
85
86
static int quiet , verbose , no_verify , allow_empty , dry_run , renew_authorship ;
86
87
static int no_post_rewrite , allow_empty_message ;
87
88
static char * untracked_files_arg , * force_date , * ignore_submodule_arg ;
@@ -141,7 +142,7 @@ static struct option builtin_commit_options[] = {
141
142
OPT_BOOLEAN (0 , "reset-author" , & renew_authorship , "the commit is authored by me now (used with -C-c/--amend)" ),
142
143
OPT_BOOLEAN ('s' , "signoff" , & signoff , "add Signed-off-by:" ),
143
144
OPT_FILENAME ('t' , "template" , & template_file , "use specified template file" ),
144
- OPT_BOOLEAN ('e' , "edit" , & edit_flag , "force edit of commit" ),
145
+ OPT_BOOL ('e' , "edit" , & edit_flag , "force edit of commit" ),
145
146
OPT_STRING (0 , "cleanup" , & cleanup_arg , "default" , "how to strip spaces and #comments from message" ),
146
147
OPT_BOOLEAN (0 , "status" , & include_status , "include status in commit message template" ),
147
148
/* end commit message options */
@@ -1020,8 +1021,8 @@ static int parse_and_validate_options(int argc, const char *argv[],
1020
1021
1021
1022
if (logfile || message .len || use_message || fixup_message )
1022
1023
use_editor = 0 ;
1023
- if (edit_flag )
1024
- use_editor = 1 ;
1024
+ if (0 <= edit_flag )
1025
+ use_editor = edit_flag ;
1025
1026
if (!use_editor )
1026
1027
setenv ("GIT_EDITOR" , ":" , 1 );
1027
1028
0 commit comments