Tag: demobereich

Demobereich-Tour: Wie registriere ich mich

August 7th, 2009

Endlich ist unsere erste Tour von Demobereich fertig. Im folgenden Video erfährst du, wie du dich bei demobereich anmeldest. Weitere Tutorials sind schon in Planung. Ansonsten gibts auch im Blog schon Touren, die wir noch nicht als Screencast umgesetzt haben zu bewundern.

solved Subversion svn “chunked stream ended unexpectedly”

Juli 20th, 2009

Ohje, heute ging’s mal wieder los. Kaum sind wir mit demobereich in die closed-beta-Phase gestartet, kommen die Fehlermeldungen.

Subversion hatte Schluckauf und meldete unkontrolliert: “svn: chunked stream ended unexpectedly“. Nach einiger Recherche konnte ich eine Lösung finden. Auch wenn in dem Forenbeitrag eigentlich steht, dass es keine echte Lösung ist, hat es bei mir geholfen:

SVNListParentPath on

Nun taucht der Fehler nicht mehr auf. Merkwürdig, denn eigentlich ist SVNListParentPath nur für die Darstellung des übergeordneten Hauptverzeichnisses bei mehreren parallelen Repositories da (siehe SVNBook).

UPDATE: Jetzt taucht der Fehler vereinzelt wieder auf. Das kann doch nicht sein…

UPDATE2: Fehlerquelle scheinen beim mir Encodingprobleme im Repository zu sein. Lässt sich derzeit nicht beheben. :-(

UPDATE3: Nun gab es doch noch eine Lösung für das Problem mit chunked strem ended unexpectedly.

Größe des Subversion Repositories beim Commit überprüfen

Juni 24th, 2009
Subversion Logo

Subversion Logo

Jetzt habe ich ewig nach einer Lösung für folgendes Problem gesucht:

Für unser Subversion-Hosting brauchte ich die Möglichkeit die Größe des Repositories zu limitieren. Im Idealfall sollte ein Commit verhindert werden, wenn dadurch die Größe überschritten wird.

Um einen Commit zu verhindern, braucht man einen pre-commit Hook. Dieser überprüft dann ob die Größe überschritten wird und beendet sich mit Fehlercode 0 wenn alles in Ordnung war und 1 (sowie einer Fehlermeldung) wenn es ein Problem gab.

Um die Verzeichnisgröße anzuzeigen, eignet sich das Linux-Kommando du (man du). Die folgende Zeile ermittelt die Größe eines Verzeichnisses in Megabyte:

MEGS=`du -sm $REPOS | sed -r "s/^([0-9\.]+).+/\1/"`

$REPOS ist eine Variable in der für unseren Fall das Repository steht.

Hat man auf diese Weise die Größe des Repository-Verzeichnisses ermittelt, wird die Größe noch mit der erlaubten Größe verglichen und im Falle des Überschreitens eine Fehlermeldung angezeigt.

if [ "$MEGS" -gt "$QUOTA" ]; then
        #send error message to stderr
        echo "Das Repository hat die zulässige Größe von ${QUOTA}MB überschritten." 1>&2
        exit 1;
fi

via The Dumb Terminal.