blob: 2953e56da75c3a83bee9ecebd96109cac11faf49 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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}
|