docs-common/bin insert-changelog,1.6,1.7

Paul W. Frields (pfrields) fedora-docs-commits at redhat.com
Sat Feb 4 16:07:07 UTC 2006


Author: pfrields

Update of /cvs/docs/docs-common/bin
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv7757/docs-common/bin

Modified Files:
	insert-changelog 
Log Message:
Make the clog target a little smarter and more helpful


Index: insert-changelog
===================================================================
RCS file: /cvs/docs/docs-common/bin/insert-changelog,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- insert-changelog	21 Jan 2006 02:47:58 -0000	1.6
+++ insert-changelog	4 Feb 2006 16:06:42 -0000	1.7
@@ -7,6 +7,35 @@
 
 OUTPUT="${1:-${PWD}/$RPMINFO.clog$$}"
 
+
+# Check whether a number input is valid
+# Relying on global scope since this function isn't useful outside me
+validnumber()
+{
+    case "$ROLE" in
+	'doc' )
+	    VALIDCHARS='[^0-9.]'
+	    MSG="Valid characters are digits and '.' only -- please re-enter."
+	    ;;
+	'rpm' )
+	    VALIDCHARS='[^0-9]'
+	    MSG="Valid characters are digits only -- please re-enter."
+	    ;;
+	* )
+	    echo "Role '$ROLE' is invalid, cowardly bail-out"
+	    exit 1
+	    ;;
+    esac
+    if test -z "`echo $NUMBER | grep $VALIDCHARS`"; then
+	RETVAL=0
+    else
+	echo "$MSG"
+	RETVAL=1
+    fi
+    return $RETVAL
+}
+
+
 echo -n "Change to [r]pm package or [d]ocument source? [r/D] "
 while test -z "$ROLE" ; do
     read -s -n 1 R
@@ -34,15 +63,20 @@
 fi
 
 LASTREV=$(get_latest_revision "$ROLE")
-if [ -z "$LASTREV" ]; then # this is the first revision for this role
+if [ -z "$LASTREV" ] || [ "$LASTREV" = "0" ]; then
+# this is the first revision for this role
     LASTREV=$ZEROREV
 fi
 
-while test -z "$NUMBER"; do
+while test -z "$NUMBER" ; do
     echo -n "Enter $REVDESC greater than $LASTREV: "
     read NUMBER
+    if validnumber ; then
     # Yes, it's perfectly safe to assume Python is present
-    if test `python -c "from distutils import version; a=version.LooseVersion('$LASTREV') ; b=version.LooseVersion('$NUMBER'); print b>a"` = "False"; then
+	if test `python -c "from distutils import version; a=version.LooseVersion('$LASTREV') ; b=version.LooseVersion('$NUMBER'); print b>a"` = "False"; then
+	    NUMBER=
+	fi
+    else
 	NUMBER=
     fi
 done




More information about the Fedora-docs-commits mailing list