Portál AbcLinuxu, 1. května 2025 07:06

Skript na zisťovanie novej revízie Changelogu

16.7.2007 21:45 | Přečteno: 898×

Toto je kratučký skript, ktorý zisťuje prítomnosť novej CVS/SVN revízie Changelogu ľubovoľného projektu, ktorý umožňuje prezeranie CVS/SVN stromu na webe.

Dá sa veľmi ľahko skombinovať so superkarambou/gkrellm/conky (pre conky vložte príkaz do .conkyrc riadok ${execi 1800 cat /home/user/commit.tmp} pre kontrolu každých 30 minút)

#!/bin/sh
# check_chlog by jose1711 at gmail dot com
# version 0.1, july 2007
#
# a script for checking the new revisions of changelogs provided they
# have a web interface for CVS/SVN
#
# please edit LOG variable and add projects to be monitored before using
#
# LOG - where to store the announcement about the new version (/dev/stdout for standard output)
# LOG=/dev/stdout
LOG=/home/user/commit.tmp
#set -x
check_revision(){
        CURR_REV=$3
        REV=$(wget "$2" --output-document=- 2>/dev/null | grep "revision=" | sed -e "s/.*<strong>\([^<]*\)<\/strong>.*/\1/" -e "1q")
        if [ "$REV" != "$CURR_REV" -a "$REV" != "" ]; then
                echo "new $1 changelog! (rev. $REV)" >"$LOG"
        fi

}
# reset the LOG file to 0
> "$LOG"
# check_revision project_name url_to_changelog current_(latest)_revision
# example: check_revision mplayer http://svn.mplayerhq.hu/mplayer/trunk/Changelog?view=log 23785
check_revision mplayer http://svn.mplayerhq.hu/mplayer/trunk/Changelog?view=log 23785
check_revision ffmpeg http://svn.mplayerhq.hu/ffmpeg/trunk/Changelog?view=lo 9586
check_revision ktranslator http://ktranslator.svn.sourceforge.net/viewvc/ktranslator/trunk/dictconv/ChangeLog?view=log 32
#set +x
       

Hodnocení: 75 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

Josef Kufner avatar 16.7.2007 23:04 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Skript na zisťovanie novej revízie Changelogu
Odpovědět | Sbalit | Link | Blokovat | Admin
A co něco jako toto:
#!/bin/bash
url="$1"
tmp="$2"

mv "$tmp" "$tmp.old" 2>/dev/null
wget "$url" -O "$tmp" || exit
diff -u "$tmp.old" "$tmp" \
| grep '^+[^+]' | sed 's/^+//' \
| mail -s "Changelog: $url" $USER
Jen to hodit do cronu a každá změna hezky přijde mailem...
Hello world ! Segmentation fault (core dumped)
Josef Kufner avatar 16.7.2007 23:10 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Skript na zisťovanie novej revízie Changelogu
Odpovědět | Sbalit | Link | Blokovat | Admin
Hmm... ale jak tak na to koukam, je zbytečné stahovat vždy kompletní log... nestačilo by jen udělat:
svn log $last:HEAD $url_repositare
s tím, že to $last by jsi měl někde uložené od minule...
Hello world ! Segmentation fault (core dumped)

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.