[PATCH 1/2] Avoid using the git wrapper in git-rebase.sh.

Subsystems: the rest

DORMANTno replies

4 messages, 3 authors, 2016-06-15 · open the first message on its own page

[PATCH 1/2] Avoid using the git wrapper in git-rebase.sh.

From: Shawn Pearce <hidden>
Date: 2016-06-15 22:42:33

Ideally 'shipped' commands (e.g. git-rebase) should avoid calling
the git wrapper when executing other commands to prevent the user
from shadowing those commands with aliases and causing the shipped
command behavior to differ unexpectedly.

Signed-off-by: Shawn O. Pearce <redacted>
---
 git-rebase.sh |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index 1b9e986..6d06665 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -131,7 +131,7 @@ do
 			finish_rb_merge
 			exit
 		fi
-		git am --resolved --3way --resolvemsg="$RESOLVEMSG"
+		git-am --resolved --3way --resolvemsg="$RESOLVEMSG"
 		exit
 		;;
 	--skip)
@@ -150,7 +150,7 @@ do
 			finish_rb_merge
 			exit
 		fi
-		git am -3 --skip --resolvemsg="$RESOLVEMSG"
+		git-am -3 --skip --resolvemsg="$RESOLVEMSG"
 		exit
 		;;
 	--abort)
@@ -163,7 +163,7 @@ do
 		else
 			die "No rebase in progress?"
 		fi
-		git reset --hard ORIG_HEAD
+		git-reset --hard ORIG_HEAD
 		exit
 		;;
 	--onto)
@@ -231,7 +231,7 @@ esac
 
 # The upstream head must be given.  Make sure it is valid.
 upstream_name="$1"
-upstream=`git rev-parse --verify "${upstream_name}^0"` ||
+upstream=`git-rev-parse --verify "${upstream_name}^0"` ||
     die "invalid upstream $upstream_name"
 
 # If a hook exists, give it a chance to interrupt
@@ -250,7 +250,7 @@ case "$#" in
 	git-checkout "$2" || usage
 	;;
 *)
-	branch_name=`git symbolic-ref HEAD` || die "No current branch"
+	branch_name=`git-symbolic-ref HEAD` || die "No current branch"
 	branch_name=`expr "z$branch_name" : 'zrefs/heads/\(.*\)'`
 	;;
 esac
@@ -288,7 +288,7 @@ fi
 if test -z "$do_merge"
 then
 	git-format-patch -k --stdout --full-index "$upstream"..ORIG_HEAD |
-	git am --binary -3 -k --resolvemsg="$RESOLVEMSG"
+	git-am --binary -3 -k --resolvemsg="$RESOLVEMSG"
 	exit $?
 fi
 
-- 
1.4.1.gd3d5

Re: [PATCH 1/2] Avoid using the git wrapper in git-rebase.sh.

From: Matthias Lederhofer <hidden>
Date: 2016-06-15 22:42:33

Shawn Pearce [off-list ref] wrote:
Ideally 'shipped' commands (e.g. git-rebase) should avoid calling
the git wrapper when executing other commands to prevent the user
from shadowing those commands with aliases and causing the shipped
command behavior to differ unexpectedly.
How did you alias an existing command so that the alias gets executed?
That is what I get:
% git repo-config alias.am ls-tree
% GIT_TRACE=1 git am
trace: exec: '/home/matled/local/stow/git/bin/git-am'

Re: [PATCH 1/2] Avoid using the git wrapper in git-rebase.sh.

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:33

Shawn Pearce [off-list ref] writes:
Ideally 'shipped' commands (e.g. git-rebase) should avoid calling
the git wrapper when executing other commands to prevent the user
from shadowing those commands with aliases and causing the shipped
command behavior to differ unexpectedly.
In order to avoid confusion, we made aliases not to shadow real
commands, so this is not an argument to support this patch.

On distros that package git with gitexecdir set to somewhere not
on normal user $PATH, users are expected to use "git" wrapper to
invoke any commands (including git-rebase, so the user would say
"git rebase"), and "git" wrapper sets up the PATH to contain the
gitexecdir while it runs the subcommands, so spelling them
either way, be it "git am" or "git-am", is just fine.
quoted hunk
Signed-off-by: Shawn O. Pearce <redacted>
---
 git-rebase.sh |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/git-rebase.sh b/git-rebase.sh
index 1b9e986..6d06665 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -131,7 +131,7 @@ do
 			finish_rb_merge
 			exit
 		fi
-		git am --resolved --3way --resolvemsg="$RESOLVEMSG"
+		git-am --resolved --3way --resolvemsg="$RESOLVEMSG"
 		exit
 		;;
 	--skip)

Re: [PATCH 1/2] Avoid using the git wrapper in git-rebase.sh.

From: Shawn Pearce <hidden>
Date: 2016-06-15 22:42:33

Junio C Hamano [off-list ref] wrote:
Shawn Pearce [off-list ref] writes:
quoted
Ideally 'shipped' commands (e.g. git-rebase) should avoid calling
the git wrapper when executing other commands to prevent the user
from shadowing those commands with aliases and causing the shipped
command behavior to differ unexpectedly.
In order to avoid confusion, we made aliases not to shadow real
commands, so this is not an argument to support this patch.
Doh.  I must have missed the emails which decided that...  For some
reason I remember only the emails discussing shadowing happening
but that internal stuff should use 'git-am' to prevent the shadowing
from occuring.  Thanks for the correction.

-- 
Shawn.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help