File tree Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Expand file tree Collapse file tree 2 files changed +26
-1
lines changed Original file line number Diff line number Diff line change @@ -69,7 +69,7 @@ call_merge () {
69
69
test -z " $strategy " && strategy=recursive
70
70
# If cmt doesn't have a parent, don't include it as a base
71
71
base=$( git rev-parse --verify --quiet $cmt ^)
72
- eval ' git- merge-$strategy' $strategy_opts $base ' -- "$hd" "$cmt"'
72
+ eval ' git merge-$strategy' $strategy_opts $base ' -- "$hd" "$cmt"'
73
73
rv=$?
74
74
case " $rv " in
75
75
0)
Original file line number Diff line number Diff line change @@ -600,6 +600,31 @@ static int run_argv(int *argcp, const char ***argv)
600
600
*/
601
601
if (!done_alias )
602
602
handle_builtin (* argcp , * argv );
603
+ else if (get_builtin (* * argv )) {
604
+ struct argv_array args = ARGV_ARRAY_INIT ;
605
+ int i ;
606
+
607
+ if (get_super_prefix ())
608
+ die ("%s doesn't support --super-prefix" , * * argv );
609
+
610
+ commit_pager_choice ();
611
+
612
+ argv_array_push (& args , "git" );
613
+ for (i = 0 ; i < * argcp ; i ++ )
614
+ argv_array_push (& args , (* argv )[i ]);
615
+
616
+ trace_argv_printf (args .argv , "trace: exec:" );
617
+
618
+ /*
619
+ * if we fail because the command is not found, it is
620
+ * OK to return. Otherwise, we just pass along the status code.
621
+ */
622
+ i = run_command_v_opt (args .argv , RUN_SILENT_EXEC_FAILURE |
623
+ RUN_CLEAN_ON_EXIT );
624
+ if (i >= 0 || errno != ENOENT )
625
+ exit (i );
626
+ die ("could not execute builtin %s" , * * argv );
627
+ }
603
628
604
629
/* .. then try the external ones */
605
630
execv_dashed_external (* argv );
You can’t perform that action at this time.
0 commit comments