ftblog

:: widerstand zwecklos ::
email jabber gpgkey
hackergotchi

June 21, 2007

hg_serve.sh

Filed under: computer -- 12:32

grml verwaltet ja seine eigenen Daten in mehreren Mercurial Repositories.
Nun schraube ich ja ab und an an der zshrc von grml und die Änderungen die
daraus resultieren, die verwurste ich im Moment von Hand in einen Patch, den
ich dann in meinen Webspace lege, aus dem mika das Ganze dann herunter laden
kann und von Hand applien muß.

Das ist für ein verteiltes Revision Control System wie Mercurial viel zu viel
Handarbeit, finde ich. Bei Mercurial ist ein Minimalserver dabei, mit dem man
sein lokales Repository nach Außen sichtbar machen kann. Das heißt man kann
somit daraus Änderungen heraus-pullen.

Nun stecke ich ja hinter einem Dialup Account, also ändert sich meine IP mit
jeder Einwahl. Darum habe ich ein kurzes Skript zusammen geworfen, welches
sich die relevanten Informationen (auf einem Linuxsystem) zusammen sucht, den
Minimalserver startet und mir eine URI zum cut'n'pasten gibt, von der man mein
Repository clonen und (in diesem Fall wichtiger) aus der man meine Änderungen
pullen kann.

Nach einem Start sieht das Ganze so aus:

zsh% pwd
/home/hawk/src/grml/grml-etc-core

zsh% hg_serve.sh
Reading "/home/hawk/.hg_serve.grml-etc-core.rc"
Starting 'hg serve' in repo "/home/hawk/src/grml/grml-etc-core".
Device : "ppp0"
IP:port: "212.117.84.34:1234"

Cut'n'Paste URI: <http://212.117.84.34:1234/grml-etc-core>

listening at http://212.117.84.34:1234/

Nun kann man locker per 'hg pull http://212.117.84.34:1234/grml-etc-core' meine
Änderungen in das eigene Repository ziehen. Die aktuelle URI kann ich per IRC an
Stelle der bisherigen Patch-URI propagieren. Ich bin mal gespannt, wie gut das
bei meiner nächsten Änderung angenommen wird. :-)

Bei Intesse gibt's das Skript auch hier.

Powered by zblog
valid css | valid xhtml | utf-8 encoded | best viewed with anybrowser