All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yasushi SHOJI <yashi@atmark-techno.com>
To: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Cc: git@vger.kernel.org
Subject: [PATCH] Allow command abbreviation
Date: Tue, 27 Feb 2007 01:32:16 +0900	[thread overview]
Message-ID: <87mz30khax.wl@mail2.atmark-techno.com> (raw)

quilt allow us to type

    quilt ser

instead of

    quilt series

this patch does the same thing.
---
 guilt |   39 ++++++++++++++++++++++++++++++++-------
 1 files changed, 32 insertions(+), 7 deletions(-)

diff --git a/guilt b/guilt
index f5a55ff..8072509 100755
--- a/guilt
+++ b/guilt
@@ -6,29 +6,54 @@
 GUILT_VERSION="0.20"
 GUILT_NAME="Buddy Holly"
 
+function guilt_commands
+{
+	local command
+	for command in $0-*
+	do
+		if [ -f "$command" -a -x "$command" ]
+		then
+			echo ${command##$0-}
+		fi
+	done
+}
+
 if [ `basename $0` = "guilt" ]; then
 	# being run as standalone
 
 	# by default, we shouldn't fail
-	fail=0
+	cmd=
 
 	if [ $# -ne 0 ]; then
 		# take first arg, and try to execute it
 
-		cmd="$1"
+		arg="$1"
 		dir=`dirname $0`
 
-		if [ ! -x "$dir/guilt-$cmd" ]; then
-			echo "Command $cmd not found" >&2
-			echo "" >&2
-			fail=1
+		if [ -x "$dir/guilt-$arg" ]; then
+			cmd=$arg
 		else
+			# might be a short handed
+			for command in $(guilt_commands); do
+				case $command in
+				$arg*)
+					if [ -x "$dir/guilt-$command" ]; then
+						cmd=$command
+					fi
+					;;
+				esac
+			done
+		fi
+		if [ $cmd ]; then
 			shift
 			exec "$dir/guilt-$cmd" "$@"
 
 			# this is not reached because of the exec
 			echo "Exec failed! Something is terribly wrong!" >&2
 			exit 1
+		else
+			echo "Command $arg not found" >&2
+			echo "" >&2
 		fi
 	fi
 
@@ -48,7 +73,7 @@ if [ `basename $0` = "guilt" ]; then
 	echo -e "\tguilt push"
 
 	# now, let's exit
-	exit $fail
+	exit 1
 fi
 
 ########
-- 
1.5.0.1.236.g6c09

             reply	other threads:[~2007-02-26 16:36 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-26 16:32 Yasushi SHOJI [this message]
2007-02-26 17:13 ` [PATCH] Allow command abbreviation Josef Sipek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mz30khax.wl@mail2.atmark-techno.com \
    --to=yashi@atmark-techno.com \
    --cc=git@vger.kernel.org \
    --cc=jsipek@cs.sunysb.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.