]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
added new commit script
authorAlexandre Oliva <oliva@dcc.unicamp.br>
Wed, 20 Jan 1999 20:13:16 +0000 (20:13 +0000)
committerGary V. Vaughan <gary@gnu.org>
Wed, 20 Jan 1999 20:13:16 +0000 (20:13 +0000)
commit [new file with mode: 0755]

diff --git a/commit b/commit
new file mode 100755 (executable)
index 0000000..5b8c4f3
--- /dev/null
+++ b/commit
@@ -0,0 +1,56 @@
+#! /bin/sh
+
+progname=`echo $0 | sed 's,.*/,,g'`
+log_file=${TMPDIR-/tmp}/commitlog.$$
+config_file=${TMPDIR-/tmp}/configure.in.$$
+
+echo "Checking repository is up to date..." >&2
+commit=`cvs -z3 stat 2>/dev/null | grep Status | egrep -v '(Up-to-date|Locally )'`
+test -z "$commit" || { echo "$commit"; exit 1; }
+
+#####
+##### Uncomment for ChangeLog based versioning
+#####
+# echo "Calculating new version number..." >&2
+# version=`egrep '^AM_INIT_AUTOMAKE' configure.in | sed 's/^.*,//;s/).*$//'`
+# major=`echo $version | sed 's,\..*,,g'`
+# minor=`echo $version | sed 's,^[^.]*\.,,;s,\([a-z]\|\.[0-9]*\)$,,'`
+# micro=`cvs -z3 stat ChangeLog | grep Working | sed 's,^.*\.,,;s,[^0-9]*$,,'`
+# micro=`expr 1 + $micro`
+# for val in X$major X$minor X$micro; do
+#   if echo $val | egrep '^X[0-9][0-9]*$' >/dev/null 2>&1; then :
+#   else
+#     echo "$progname: couldn"\'"t get ChangeLog version" >&2
+#     exit 1
+#   fi
+# done
+#    
+# echo "Substituting version $major.$minor.$micro in configure.in..." >&2
+# search='^\(AM_INIT_AUTOMAKE([^,]*\),.*)'
+# if sed "s/$search/\1,$major.$minor.$micro)/" configure.in > $config_file; then
+#   if test -s $config_file; then
+#     mv -f $config_file configure.in || \
+#       { echo "$progname: mv $config_file: failed" >&2; exit 1; }
+#   else
+#     echo "$progname: version substitution failed" >&2
+#     exit 1
+#   fi
+# else
+#   echo "$progname: couldn"\'"t set ChangeLog version" >&2
+#   exit 1
+# fi
+
+echo "Checking commit message..." >&2
+if test $# -gt 1 && test $1 = -m; then
+  echo "$2" > $log_file
+  shift; shift
+else
+  cvs -z3 diff -u ChangeLog | grep '+  ' | sed 's,\+   ,,' > $log_file
+fi
+test -s $log_file || { echo "$progname: no ChangeLog entry!" >&2; exit 1; }
+
+cvs -z3 commit -F $log_file ${1+"$@"}
+
+rm -f $log_file $config_file
+
+exit 0