Verständnisfrage zu Subversion

xcvb

Well-Known Member
Hallo.

Ich hab hier einen Webserver (FreeBSD, Apache, MySQL, PHP) auf dem eine Webanwendung auf Basis von typo3 läuft. Jetzt arbeiten zwei Entwickler an dem typo3 und es kam die Frage nach einer Software für Versionsverwaltung. Nun habe ich mit git genau null Erfahrung, Subversion kenne ich etwas besser. Also habe ich mir eine weitere FreeBSD-VM erstellt und Subversion installiert und konfiguriert. Im Grunde habe ich folgendes gemacht:

Code:
svn-server# mkdir -p /usr/local/repos
svn-server# svnadmin create /usr/local/repos/typo3

Danach habe ich vom Webserver die Daten ins Repo importiert, in etwa so:

Code:
web-server# svn import /usr/local/www/typo3 svn://svn-server/repos/typo3

So weit alles in Ordnung. Die Benuzter können problemlos auschecken, committen, usw.

Meine Frage: Wie bekomme ich die gänderten Daten wieder zurück auf den Webserver? Lösche ich /usr/local/www/typo3 und mache danach einen 'svn checkout' und später zum aktualisieren ein 'svn update'? Somit hätte ich auf dem Webserver eine Arbeitskopie des Repos.

Oder wie macht man/ihr das?
 
Bedenke, das Typo3 intern bereits eine umfangreiche Versionierung von Aenderungen unterstuetzt und dort einzelne Seiten, etc. leicht zurueck-gerollt werden koennen.

Bedenke ausserdem, das die Dateien auf der Platte nur die halbe Miete sind...du brauchst auch einen dazu zeitlich passenden Datenbank-Dump der SQL Datenbank um eine Konsistenz zwischen Datenbank<->Dateisystem sicherzustellen.

Die Frage ist, welche Problemfaelle du abdecken willst.

Grundsaetzlich ist nichts verkehrt daran, die Dateien auf der Platte zu versionieren...wuerde ich auch machen.
Manche/viele Sachen sind aber wahrscheinlich einfacher direkt in Typo3 zurueckzurollen (was Dateien und Datenbank Aenderungen konsistent zurueck-aendern wuerde).

Und ein konsistentes Backup von allem brauchst du unabhaengig sowieso.
 
Bedenke, das Typo3 intern bereits eine umfangreiche Versionierung von Aenderungen unterstuetzt und dort einzelne Seiten, etc. leicht zurueck-gerollt werden koennen.
TYPO3 unterstützt Versionierung, aber das passiert rein auf DB Ebene. Es fummelt nicht an PHP - oder sonstigen Dateien rum. typo3temp, upload und fileadmin sind die einzigen Ordner, in denen TYPO3 schreibt. typo3temp sagt es schon, das ist ein temp. Ordner, upload ist unkompliziert, fileadmin kann mal zum Problem werden, wenn Dateien nicht im Filesystem liegen, es nach FAL aber müssten. Kommt aber wirklich selten vor. Dort sollten auch keine Templates, PHP-Dateien usw. liegen.
Wir haben einige TYPO3-Instanzen und jede Instanz komplett in git, bis vor 2 Jahren in Subversion.

@xcvb
Schau Dir mal git an. So wie es klingt, bis Du der Admin.
Es ist schon etwas her, dass ich SVN als Admin betreut habe, aber da gab es schon ein paar Fallstricke, bezgl. Backup. git ist da unkomplizierter.
Und wenn die Entwickler danach fragen, dann mach sie glücklich. Die Umstellung kann Dir egal sein.
Als Entwickler ist es tatsächlich eine Umgewöhnung, aber es lohnt sich.
 
Nein, die Umstellung auf git bringt nur viel Overhead, hier aber keinen sonstigen Vorteil. git mit exakt einem Masterrepository ist im Wesentlichen genau das Gleiche wie SVN.
 
Grundsätzlich hat man was sehr ähnliches, allerdings würde ich das "genau das Gleiche" etwas reduzieren, auch was die Sicht eines Sysadmins angeht.

Git kann dir bessere Performance schaffen, auf beiden Seiten, ist dabei außerdem was das Repo betrifft mitunter deutlich kleiner (wenn das ein Thema ist kann man sogar automatisiert "git gc" laufen lassen).

Das kann potentiell Dinge vereinfachen. Ob das im jeweiligen Projekt und Gesamtkontext tatsächlich bermerkbare positive Auswirkungen hat ist natürlich eine andere Frage.

Bei größeren Repos (was ja bei dir nicht so der Fall zu sein scheint?) kann das aber erheblich Verbesserungen mit sich bringen. Sowas wie Faktor-10
 
Ich finde diese unerbetenen Tooldiskussionen - "Wie benutze ich x?" "Benutz' lieber y, is viel geiler ey!" - halt eher irritierend. Ich dachte, dagegen seien wenigstens "wir" als Vertreter der weniger lauten, missionierenden Gruppe hinweg.

Nun ja.
 
Hat hier irgendjemand "Benutz lieber X" oder "Y ist viel geiler" gesagt oder auch nur angedeutet?

EDIT: Oops, hatte ich echt nicht gesehen bzw. drauf vergessen.
 
@CrimsonKing

Sag doch, dass Du mich meinst. Ich habe nicht gesagt, dass der TO git nutzen soll, sondern das er es sich mal anschauen soll. So wie Du "Benutz' lieber y, is viel geiler ey!" irritierend findest, so finde ich es irritierend, wenn Leute sich Neuem verweigern, weil man es schon immer so gemacht hat und die alten Werkzeuge es ja tun. Egal ob als Entwickler oder Admin.
 
Wenn der TO schreibt, er möchte SVN nutzen und kommt mit Git nicht klar, ist "guck dir mal Git an" ein eher fragwürdiger Hinweis, meine ich. Neu ist nicht grundsätzlich besser. Sonst würden alle nur noch Azure nutzen oder so.
 
OK und nun kommen wir zum Thema zurück und driften nicht in Nebendiskussionen ab. Wenn ihr das klären wollt macht es bitte privat.
 
Meine Frage: Wie bekomme ich die gänderten Daten wieder zurück auf den Webserver? Lösche ich /usr/local/www/typo3 und mache danach einen 'svn checkout' und später zum aktualisieren ein 'svn update'? Somit hätte ich auf dem Webserver eine Arbeitskopie des Repos.

Oder wie macht man/ihr das?
Ich würde das auch so machen. Das ist schon der richtige Ansatz.

Sobald die FreeBSD=>GitHub Brück zu einer FreeBSD<==>GitHub Brücke wird, heißt es bei mir auf Nimmerwiedersehen SVN.
 
Vielen Dank für eure zahlreichen Antworten.

Ich werde mir auf jeden Fall git ansehen und mich auch noch mal mit der internen Versionierung von typo3 beschäftigen. Bislang läuft aber auch die Testphase mit Subversion ganz gut. Von daher weiß ich jetzt nicht, auf was es am Ende hinauslaufen wird.

Die Entwickler hatten übrigens nie explizit nach git gefragt.....das kam hier in der Disskussion etwas falsch rüber. Mir ging es ledigdich darum, ob das von mir beschriebene Szenario machbar ist. Besten Dank nochmal!! :)
 
Zurück
Oben