DORMANTno replies

[PATCH Cogito] cg-log: improve parsing -r

From: Jonas Fonseca <hidden>
Date: 2016-06-15 22:41:58

Move parsing of the -r option to the option parsing loop so it no longer
needs to be last in the argument list.

Signed-off-by: Jonas Fonseca <redacted>
---

 cg-log |   32 +++++++++++++++-----------------
 1 files changed, 15 insertions(+), 17 deletions(-)
--- c8e987e5e4608c1144293cd3f852210d70b572cb/cg-log  (mode:100755)
+++ uncommitted/cg-log  (mode:100755)
@@ -37,7 +37,10 @@
 colsignoff=
 coldefault=
 list_files=
+log_start=
+log_end=
 user=
+
 while [ "$1" ]; do
 	# TODO: Parse -r here too.
 	case "$1" in
@@ -59,6 +62,18 @@
 		user="${1#-u}"
 		shift
 		;;
+	-r)
+		shift
+		if echo "$1" | grep -q ':'; then
+			log_end=$(echo "$1" | cut -d : -f 2)
+			log_start=$(echo "$1" | cut -d : -f 1)
+		elif [ -z "$log_start" ]; then
+			log_start="$1"
+		else
+			log_end="$1"
+		fi
+		shift
+		;;
 	*)
 		break
 		;;
@@ -93,23 +108,6 @@
 	echo "$coldefault:"
 }
 
-log_start=
-log_end=
-if [ "$1" = "-r" ]; then
-	shift
-	log_start="$1"
-	shift
-	if echo "$log_start" | grep -q ':'; then
-		log_end=$(echo "$log_start" | cut -d : -f 2)
-		log_start=$(echo "$log_start" | cut -d : -f 1)
-	fi
-fi
-if [ "$1" = "-r" ]; then
-	shift
-	log_end="$1"
-	shift
-fi
-
 if [ "$log_end" ]; then
 	id1="$(commit-id $log_start)" || exit 1
 	id2="$(commit-id $log_end)" || exit 1
-- 
Jonas Fonseca
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help