PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Versionierung?



Brujah
02.12.06, 12:04
Ich bin gerade auf der Suche nach einem Versionierungsystem und dabei überfordert von der Menge der verschiedenen Systeme die es hier gibt.
Soweit habe ich die folgenden als potenzielle Kandidaten eingestuft:
subversion, darcs und bazaar.

Bei uns wird es so sein das damit unsere Homepage versioniert werden soll.
Wir sind 6 Entwickler. Dabei machen die Programmierer keine Kopie auf ihren lokalen Rechner, sondern eine Kopie von Server (Live) zu Server (Entwicklung) und umgekehrt.

Es muss atomar sein und wir möchten auch in der Lage sein nur einzelne Verzeichnisse zu kopieren.

Was ich noch nicht verstehe ist wie man das Ganze mit den Tabellen der Datenbank macht. Oft stehen deren Änderungen ja im direkten Zusammenhang zu Codeänderungen. Wie werden diese Versioniert?

Hat hier jemand Erfahrungen gesammelt und kann mir ein System empfehlen?

baumgartner
02.12.06, 13:11
Es muss atomar sein und wir möchten auch in der Lage sein nur einzelne Verzeichnisse zu kopieren.

Was kann man sich unter atomar vorstellen? Mehrer Server die gesynct werden sollen?

BTW: Git soll auch hervorragend zur Versionierung sein. Ansonsten hab ich berufsmäßig nur Erfahrung mit Clear Case, ist allerdings von IBM und sehr teuer...

oracle2025
02.12.06, 13:33
Ich bevorzuge darcs für Versionskontrolle, und kann es nur empfehlen.

Bzgl. des SQL Problems, ich glaube Capistrano kann auch scripte zum ändern der Datenbank einbinden.

http://wiki.rubyonrails.org/rails/pages/Capistrano
http://manuals.rubyonrails.com/read/book/17

Brujah
02.12.06, 13:53
Atomar heisst das nicht einzelne Dateien freigeben werden, sondern gleich mehrere und deren Änderung nur aktiv wird wenn alle auch auf dem Zielsystem angekommen sind. Das selbe benutzen auch Datenbanken um immer einen konsistenten Zustand zu behalten.

Clear case können wir uns nicht leisten. Wir sind nur ein kleines Unternehmen.

Darcs ist das System mit dem meine Kollegen auch am meisten liebäugeln.
Ich habe das hier mal installiert und gesehen das die Handhabung sehr ähnlich ist wie bei svn (das einzige was ich kenne). Ich bekomme aber gerade das Webfrontend nicht zum laufen. Kann es sein das der unter Debian/Ubuntu das cgi File ins falsche Verzeichnis kopiert werden? Habt ihr das gerade am laufen?
(So wie in der Anleitung geht es auf jedenfall nicht)

Brujah
05.12.06, 09:31
Okay. Ich habe es hinbekommen. Da hat einfach der ScriptAlias gefehlt.

Jetzt können die Entwickler also Patches austauschen und sie haben ein gemeinsames Repo auf dem Webserver das sie per Browser ansehen können.

Jetzt ist die Frage wie ich verhindere das zwei Leute am gleichen File arbeiten.
Ich weiss das das später mit Smartmerge zusammengeführt werden kann. Aber es wäre doch besser wenn man gleich wüsste das jemand anderes gerade an diesem File arbeitet und ich warten sollte bis es wieder freigegeben wurde.

Wie macht ihr das?
Muss ich dazu einen eigenen Machanismus aufsetzen?

oracle2025
05.12.06, 13:27
Also solange es ein kleines überschaubares Team ist, würde ich halt drauf schauen das die Verantwortlichkeiten klar aufgeteilt sind, sodass sich keiner in die Quere kommt, und halt immer brav mergen. Ist IMHO kein wirkliches Problem, schliesslich macht es ohnehin Sinn zu wissen was die anderen so ungefähr machen. Ich würd auch empfehlen wenn man untereinander regelmäßig die Patches anschaut, dann wird alles nochmal doppelt kontrolliert. :)

PS.: Ich verwende "kompare" um Patches zu studieren.