summaryrefslogtreecommitdiff
path: root/contrib/reghunt/bin/gcc-svn-ids
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /contrib/reghunt/bin/gcc-svn-ids
downloadcbb-gcc-4.6.4-upstream.tar.bz2
cbb-gcc-4.6.4-upstream.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'contrib/reghunt/bin/gcc-svn-ids')
-rwxr-xr-xcontrib/reghunt/bin/gcc-svn-ids88
1 files changed, 88 insertions, 0 deletions
diff --git a/contrib/reghunt/bin/gcc-svn-ids b/contrib/reghunt/bin/gcc-svn-ids
new file mode 100755
index 000000000..2953e56da
--- /dev/null
+++ b/contrib/reghunt/bin/gcc-svn-ids
@@ -0,0 +1,88 @@
+#! /bin/sh
+
+# Convert one kind of changeset identifier to another.
+#
+# Usage: gcc-svn-ids -f from_kind -t to_kind id
+#
+# Where from_kind is one of:
+# index index into the changeset list used by the reghunt tools
+# rev is the Subversion revision name
+# and to_kind is one of:
+# index index into the changeset list used by the reghunt tools
+# rev is the Subversion revision name
+# date expanded UTC date string
+# branch the branch, or "trunk" for mainline
+# author the person who checked in the patch
+
+errmsg () {
+ echo $1 1>&2
+}
+
+usage () {
+ echo 'cvs_ids -f kind -t kind id' 1>&2
+ echo ' where from_kind is index or rev' 1>&2
+ echo ' and to_kind is index, rev, date, author, or branch' 1>&2
+ echo "error"
+ exit 1
+}
+
+if [ "x${REG_CHANGESET_LIST}" = "x" ]; then
+ errmsg "REG_CHANGESET_LIST is not defined"
+ echo "error"
+ exit 1
+fi
+
+if [ ! -f ${REG_CHANGESET_LIST} ]; then
+ errmsg "changeset list ${REG_CHANGESET_LIST} does not exist"
+ echo "error"
+ exit 1
+fi
+
+# Use a shorter name here.
+LIST=${REG_CHANGESET_LIST}
+
+while getopts "f:t:" ARG; do
+ case ${ARG} in
+ f) FROM_KIND="${OPTARG}";;
+ t) TO_KIND="${OPTARG}";;
+ h) usage;;
+ *) errmsg "unrecognized option: ${ARG}";
+ usage;;
+ esac
+done
+shift `expr ${OPTIND} - 1`
+
+if [ $# -eq 0 ]; then
+ errmsg "too few arguments, ID is missing"
+ usage
+fi
+if [ $# -gt 1 ]; then
+ errmsg "unexpected arguments: $*"
+ usage
+fi
+ID="$1"
+
+case ${FROM_KIND} in
+index) LINE=`awk -F '|' -v id="${ID}" '{if ($1 == id) print }' < ${LIST}`;;
+rev) LINE=`awk -F '|' -v id="${ID}" '{if ($2 == id) print }' < ${LIST}`;;
+*) errmsg "unrecognized FROM kind: ${FROM_KIND}";
+ usage;;
+esac
+
+if [ "x${LINE}" = "x" ]; then
+ errmsg "no entry found for ${FROM_KIND} = ${ID}"
+ echo "error"
+ exit 1
+fi
+
+case ${TO_KIND} in
+index) TO_ID="`echo ${LINE} | awk -F '|' '{ print $1 }'`";;
+rev) TO_ID="`echo ${LINE} | awk -F '|' '{ print $2 }'`";;
+author) TO_ID="`echo ${LINE} | awk -F '|' '{ print $3 }'`";;
+date) TO_ID="`echo ${LINE} | awk -F '|' '{ print $4 }'`";;
+branch) TO_ID="`echo ${LINE} | awk -F '|' '{ print $5 }'`";;
+*) errmsg "unrecognized TO kind: ${TO_KIND}";
+ usage;;
+esac
+
+echo ${TO_ID}