# $Id$
v=true
-if [ "$1" = "-n" ];then
+if [ "$1" = "-q" ];then
v=false
shift
fi
+changelog=""
+if [ "$1" = "-n" ];then
+ changelog="$1"
+ shift
+fi
for arg in "$@";do
# http://sourceware.org/ml/gdb-cvs/2099-99/msg99999.html
+ if [ "$arg" != "${arg#http://sources.redhat.com/}" ];then
+ arg="http://sourceware.org/${arg#http://sources.redhat.com/}"
+ fi
if [ "$arg" != "${arg#http://sourceware.org/ml/}" -a "$arg" != "${arg%.html}" ];then
echo >&2 -n '*'
echo "$arg"
- echo
- changelogget -n $(wget -q -O - "$arg" | sed -n -e 's/&/\&/g' -e 's#^<a \+href="\(.*\)">\1</a>$#\1#p')
+ raw="$(wget -q -O - "$arg" | sed -n 's#^.*<a href="\(/cgi-bin/get-raw-msg[?][^"]*\)">Raw text</a>.*$#\1#p')"
+ if [ -z "$raw" ];then
+ echo >&2 -n '+'
+ echo
+ changelogget -q $changelog $(wget -q -O - "$arg" | sed -n -e 's/&/\&/g' -e 's#^<a \+href="\(.*\)">\1</a>$#\1#p')
+ else
+ echo >&2 -n '#'
+ wget -q -O - "http://sourceware.org$raw" | sed -n -e '/^Subject:/p' -e '/^$/,$p'
+ fi
elif [ "$arg" != "${arg#http://sourceware.org/cgi-bin/cvsweb.cgi/src/}" ];then
echo >&2 -n '.'
# --- src/gdb/ChangeLog 2008/04/24 08:46:17 1.9308
- wget -q -O - "$arg" | diffdecvs | perl -p -e '$c=1 if s{^(?:---|\Q+++\E)(?= \S+/ChangeLog\t)}{###};s{^@@}{##} if $c;'
+ wget -q -O - "$arg" | diffdecvs | if [ -z "$changelog" ];then perl -p -e '$c=1 if s{^(?:---|\Q+++\E)(?= \S+/ChangeLog\t)}{###};s{^@@}{##} if $c;'; else cat; fi
else
echo >&2 "Invalid URL: $arg"
exit 1