#! /bin/sh # $Id$ v=true 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" raw="$(wget -q -O - "$arg" | sed -n 's#^.*Raw text.*$#\1#p')" if [ -z "$raw" ];then echo >&2 -n '+' echo changelogget -q $changelog $(wget -q -O - "$arg" | sed -n -e 's/&/\&/g' -e 's#^\1$#\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 | 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 fi done if $v;then echo >&2 OK fi