Fix the recently accidentally disabled patch subdownloading part.
[nethome.git] / bin / changelogget
1 #! /bin/sh
2 # $Id$
3
4 v=true
5 if [ "$1" = "-q" ];then
6         v=false
7         shift
8 fi
9 changelog=""
10 if [ "$1" = "-n" ];then
11         changelog="$1"
12         shift
13 fi
14 for arg in "$@";do
15         # http://sourceware.org/ml/gdb-cvs/2099-99/msg99999.html
16         if [ "$arg" != "${arg#http://sources.redhat.com/}" ];then
17                 arg="http://sourceware.org/${arg#http://sources.redhat.com/}"
18         fi
19         if [ "$arg" != "${arg#http://sourceware.org/ml/*-cvs/}" -a "$arg" != "${arg%.html}" ];then
20                 echo >&2 -n '+'
21                 echo "$arg"
22                 echo
23                 changelogget -q $changelog $(wget -q -O - "$arg" | sed -n -e 's/&amp;/\&/g' -e 's#^<a \+href="\(.*\)">\1</a>$#\1#p')
24         elif [ "$arg" != "${arg#http://sourceware.org/ml/}" -a "$arg" != "${arg%.html}" ];then
25                 echo >&2 -n '#'
26                 echo "$arg"
27                 raw="$(wget -q -O - "$arg" | sed -n 's#^.*<a href="\(/cgi-bin/get-raw-msg[?][^"]*\)">Raw text</a>.*$#\1#p')"
28                 if [ -z "$raw" ];then
29                         echo >&2 "No raw URL found: $arg"
30                         exit 1
31                 fi
32                 wget -q -O - "http://sourceware.org$raw" | sed -n -e '/^Subject:/p' -e '/^$/,$p'
33         elif [ "$arg" != "${arg#http://sourceware.org/cgi-bin/cvsweb.cgi/src/}" ];then
34                 echo >&2 -n '.'
35                 # --- src/gdb/ChangeLog   2008/04/24 08:46:17     1.9308
36                 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
37         else
38                 echo >&2 "Invalid URL: $arg"
39                 exit 1
40         fi
41 done
42 if $v;then
43         echo >&2 OK
44 fi