########## Global variable definitions
+BASE_URL="https://code.google.com/p/v8/source/list"
VERSION="src/version.cc"
MAJOR="MAJOR_VERSION"
MINOR="MINOR_VERSION"
OPTIONS:
-h Show this message.
+
-i Print revision info for all branches matching the V8 version.
+ Example usage: $0 -i 3.19.10$
+ Output format: [Git hash] [SVN revision] [V8 version]
+
-v Print the V8 version tag for a trunk SVN revision.
+ Example usage: $0 -v 14981
+ Output format: [V8 version]
+
-m Print all patches that were merged to the specified V8 branch.
+ Example usage: $0 -m 3.18
+ Output format: [V8 version] [SVN revision] [SVN patch merged]*.
+
-p Print all patches merged to a specific V8 point-release.
+ Example usage: $0 -p 3.19.12.1
+ Output format: [SVN patch merged]*
+
+ -u Print a link to all SVN revisions between two V8 revision tags.
+ Example usage: $0 -u 3.19.10:3.19.11
EOF
}
done
}
+url_for() {
+ first=$(svn_rev trunk $(v8_hash $(echo $1 | cut -d":" -f1)))
+ last=$(svn_rev trunk $(v8_hash $(echo $1 | cut -d":" -f2)))
+ num=$[ $last - $first]
+ echo "$BASE_URL?num=$num&start=$last"
+}
+
########## Option parsing
-while getopts ":hi:v:m:p:" OPTION ; do
+while getopts ":hi:v:m:p:u:" OPTION ; do
case $OPTION in
h) usage
exit 0
;;
m) merges_to_branch $OPTARG
;;
- p) point_merges "$(tag_log $(v8_hash $OPTARG)^1)"
+ p) echo $(point_merges "$(tag_log $(v8_hash $OPTARG)^1)")
+ ;;
+ u) url_for $OPTARG
;;
?) echo "Illegal option: -$OPTARG"
usage