X-Git-Url: https://git.jankratochvil.net/?p=nethome.git;a=blobdiff_plain;f=bin%2Fchangelogget;h=cbf780b9e9ba56f1a3c64211d307eb3a5c9e2360;hp=a80ad7e5beacc3a5a3f082f17c421d6ad5b668d2;hb=45d8390d283d33546e897d22bcbd2cc804d89d1d;hpb=aef35f955a866d2bd0bc822c3481c01b26e0229b diff --git a/bin/changelogget b/bin/changelogget index a80ad7e..cbf780b 100755 --- a/bin/changelogget +++ b/bin/changelogget @@ -2,21 +2,38 @@ # $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://sourceware.org/ml/}" -a "$arg" != "${arg%.html}" ];then - echo >&2 -n '*' + 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/*-cvs/}" -a "$arg" != "${arg%.html}" ];then + echo >&2 -n '+' echo "$arg" echo - changelogget -n $(wget -q -O - "$arg" | sed -n -e 's/&/\&/g' -e 's#^\1$#\1#p') + changelogget -q $changelog $(wget -q -O - "$arg" | sed -n -e 's/&/\&/g' -e 's#^\1$#\1#p') + elif [ "$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 "No raw URL found: $arg" + exit 1 + fi + wget -q -O - "http://sourceware.org$raw" | sed -n -e '/^Subject:/p' -e '/^$/,$p' 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 's{^(?:---|\Q+++\E)(?= \S+/ChangeLog\t)}{###}' + 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