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 @@ -604,6 +604,31 @@ static int run_argv(int *argcp, const char ***argv)
604
604
*/
605
605
if (!done_alias )
606
606
handle_builtin (* argcp , * argv );
607
+ else if (get_builtin (* * argv )) {
608
+ struct argv_array args = ARGV_ARRAY_INIT ;
609
+ int i ;
610
+
611
+ if (get_super_prefix ())
612
+ die ("%s doesn't support --super-prefix" , * * argv );
613
+
614
+ commit_pager_choice ();
615
+
616
+ argv_array_push (& args , "git" );
617
+ for (i = 0 ; i < * argcp ; i ++ )
618
+ argv_array_push (& args , (* argv )[i ]);
619
+
620
+ trace_argv_printf (args .argv , "trace: exec:" );
621
+
622
+ /*
623
+ * if we fail because the command is not found, it is
624
+ * OK to return. Otherwise, we just pass along the status code.
625
+ */
626
+ i = run_command_v_opt (args .argv , RUN_SILENT_EXEC_FAILURE |
627
+ RUN_CLEAN_ON_EXIT );
628
+ if (i >= 0 || errno != ENOENT )
629
+ exit (i );
630
+ die ("could not execute builtin %s" , * * argv );
631
+ }
607
632
608
633
/* .. then try the external ones */
609
634
execv_dashed_external (* argv );
You can’t perform that action at this time.
0 commit comments