Hi,
On Tuesday 07 September 2010, Heiko Schlittermann wrote:
Ich würde Git oder HG (Mercurial) probieren.
um mal eine Gegenmeinung zur allgemeinen Git-Begeisterung beizusteuern:
Git ist ein dezentrales System. Die Arbeitsweise ist hier anders - man entwickelt auf seinem lokalen Repository, welches zufälligerweise im Working Directory versteckt ist. Sprich: auf jedem Rechner wo eine Kopie der Sourcen liegt sieht man ein anderes Repository und es gehört einige Disziplin dazu diese (mit einem zentralen Repo) synchron zu halten.
Bei größeren Teams ist die Unterscheidung noch größer: während bei SVN alle commits sofort für jeden sichtbar sind, sind bei Git i.d.R. drei Schritte nötig: 1) man committet, 2) der Commit muss in Richtung zentrales Repo gepusht werden und 3) der zentral Verantwortliche muss den Patch annehmen (es sei denn jeder hat zentral vollen Zugriff, dann sind es zwei Schritte).
Da die meisten unter uns "Freigeister" sind ist diese Arbeitsweise oft bevorzugt.
In Firmenumgebungen hat sie meiner Meinung nach aber den Nachteil dass alle wirklich mitspielen wollen müssen und die Konzepte wesentlich komplexer sind. Ein vollständiger Commit sind auch 2-3 Schritte statt einem, was dazu führt dass es einfacher ist einen zu vergessen. Was auch ein Faktor sein kann: dezentrale Systeme haben keine eindeutigen und stetig steigenden Versionsnummern, was unter Umständen per Policy gebraucht wird.
Was man wählt hängt letztlich davon ab welche Arbeitsweise man bevorzugt und wieviel Komplexität man seinen Mitspielern zumuten will. Versionskontrolle ist an sich schon heftig, mit dezentralen Systemen ist es noch heftiger. Dass es noch keinen eindeutigen Favoriten unter den Systemen gibt macht die Auswahl nicht leichter.
Konrad