SVN2FTP 1.0.0-beta jetzt verfügbar

Tags:

Habt bedauern. Ich gehöre zu der Sorte Programmierer, die mit einem billigen Shared Hosting ohne Shell-Zugriff leben müssen. Da gute Programmierer - und so einer möchte ich doch sein - ihre Arbeit versionieren, nutze ich unter anderem Subversion für einige meiner privaten Projekte. Zum Beispiel für diese Webseite.

Da man nicht einfach ein ausgechecktes SVN Repository auf den Server laden sollte (die .svn-Verzeichnisse beinhalten sensible Metadaten), ist ein svn export plus anschliessende Synchronisation angesagt. Bei grösseren Repositories kann dies aber zu lange dauern oder das Zusammenfrickeln von Revisions ziemlich nervig werden - besonders unter Windows.

Deshalb präsentiere ich euch die erste Version von SVN2FTP.

SVN2FTP Screenshot

Darum geht es

SVN2FTP ist ein kleines CLI-Tool (geschrieben in PHP 5.3), dass angegebene Revisionen aus einem SVN Repository runter- und per FTP auf einen Server hochlädt. Natürlich kann es auch Dateien löschen.

Obwohl ich noch ein paar Todos aufgeschrieben habe, und mit der Code Base nicht wirklich glücklich bin, will ich euch das bisher Vorhandene nicht vorenthalten.

Konfiguration

Für jedes Projekt kann eine eigene Konfigurationsdatei angelegt werden, die die wichtigsten Angaben wie Host- und Benutzernamen beinhaltet. Falls gewünscht können auch Passwörter direkt in den Konfigurationsdateien geschrieben werden; ansonsten werdet ihr zur gegebenen Zeit zur Eingabe aufgefordert.

Momentan werden nur .ini-Dateien unterstützt. Und die sollten in etwa so aussehen:

[project]
; The name of the project.
; default: "Unknown Project"
name=Sample Project

; If set to true, SVN2FTP wont ask you whether you want
; to continue uploading/deleting the selected paths.
; default: false
force=false


[svn]
; Location of the Subversion executables
; default: none, value is required
bin=C:\Program Files\SlikSvn\bin
;bin=/usr/bin/svn

; The URI of the Subversion repository
; default: none, value is required
uri=https://svn.example.org/repos/example

; The name of the Subversion user
; default: none, value is required
user=john

; The password of the Subversion user
; default: <SVN2FTP will prompt you for the password>
password=j0hnRul3z!


[ftp]
; The URI of the remote directory on the FTP server.
; default: none, value is required
uri=ftp://example.org:21/path1/path2

; The username of the FTP user
; default: none, value is required
user=john

; The password of the FTP user
; default: <SVN2FTP will prompt you for the password>
password=sl1ce0fbr3ad

Anwendung

Die svn2ftp.php erwartet nur zwei Parameter:

Ein Beispiel:

cd C:\Path\To\SVN2FTP\bin
php svn2ftp.php -c C:\Path\To\Project.ini -r 175:HEAD

Für Windows-User empfiehlt sich das C:\Path\To\SVN2FTP\bin-Verzeichnis in die PATH-Umgebungsvariable zu legen, dadurch kann man die svn2ftp.bat per svn2ftp aus jedem Verzeichnis aus aufrufen.

svn2ftp -c C:\Path\To\Project.ini -r 150

Download

SVN2FTP ist auf github (github.com/bigwhoop/SVN2FTP) verfügbar:

Disclaimer

Da SVN2FTP bis jetzt nur bei mir im Einsatz ist, sind die Features auch auf meine Bedürfnisse zugeschnitten. Falls ihr Hilfe benötigt oder etwas vermisst, schreibt bitte in die Comments.

Ahja, ich übernehme natürlich keinerlei Verantwortung - für was auch immer ihr mit SVN2FTP anstellt. :]

Ähnliche Artikel

Kommentare