2010-07-11 1 views
5

Es scheint ziemlich schwierig zu sein, gute Referenzen über die Vor- und Nachteile dieser Versionskontrollsysteme zu finden.Kennen Sie ein gutes Pro/Kontrapapier zum Versionskontrollsystem (git/mercurial/svn/cvs)?

Wenn jemand ein kurzes und sauberes Papier darüber machen kann, Spiegel es und posten Sie es hier, ich denke, eine Menge Leute würden weniger verwirrt sein.

Welches Versionskontrollsystem sollte ich verwenden? Ich denke, es hängt vom Projekt und von der Anzahl der Leute ab, die daran arbeiten. Es gibt jedoch einige allgemein akzeptierte Fakten, zum Beispiel: Git ist der schnellste, CVS ist stabil und getestet, SVN ist einfach und Mercurial scheint mehr Windows-freundlich.

Darüber hinaus sollte das Papier Beweise, Link zu Benchmarks und Erklärung für jede Aussage enthalten.

Ich habe auf Stackoverflow geschrieben, weil die meisten Leser hier erfahrene Programmierer sein sollten und wissen, wo man um richtige Beiträge bitten ODER sogar das Papier schreiben (das wäre super).

Hinweis: Bei dieser Frage geht es nicht um die relativen Vorteile eines Werkzeugs gegenüber einem anderen (es gibt viele Beiträge zu diesen Themen), sondern mehr über die objektiven Kriterien, die verwendet werden können, um sie zu unterscheiden .

+4

SO ist keine wirklich technische Konferenz; Wir machen keine "Papiere", wir machen Antworten. – Amber

+0

Ich habe gerade versucht, den umstrittenen Aspekt Ihrer - legitimen - Frage abzuschwächen. Wenn Sie denken, dass ich dies nicht getan habe und dass ich es zu sehr geändert habe, kehren Sie bitte zur vorherigen Version zurück oder bearbeiten Sie sie erneut. – VonC

+0

Bernstein: Das ist wahr, ich habe SO missbraucht, vergib mir. VonC: Nun, du hast ein Detail geändert, aber du hast einen Fehler gemacht, ich habe nicht implizit Windows gelobt, es war nur ein ekliges Blinzeln von einem BSD Benutzer zu Linus. Aber es macht mir nichts aus, Ihre modifizierte Version ist gut und passender. Vielen Dank. – benjamin

Antwort

3

Die DVCSAnalysis von Google ist ein guter Anfang.
(Na ja, Scott Chacon, Git champion und one of the guys behind GitHub, in den Kommentaren nicht zustimmen:

Diese Analyse veraltet ist, und war in der Tat sehr veraltet, wenn es veröffentlicht wurde Siehe meine comments on ycombinator about it
. Ich bin der Meinung, dass Git und Mercurial SVN/CVS in fast jeder Hinsicht überlegen sind - ich denke, fast jeder Entwickler, der beide Systeme in irgendeiner sinnvollen Weise verwendet hat, würde zustimmen

In Bezug auf Git/Hg sind sie weitgehend vergleichbar und entweder wäre eine gute Wahl, obwohl Git scheint ein bisschen eine Spur zu haben und teilen Vorteil, FWIW.

Alle Quellen/Referenzen über diesen Marktanteil, Scott?
Vielleicht die Anzahl der Repos/Benutzer in Social-Collaboration-Sites erklärt?

)

Außer, dass ich zu dem Thema einige allgemeine Beiträge geschrieben haben:

Diese SO Antworten sind vielleicht nicht "tool-spezifisch" genug, aber zumindest können weisen Sie auf die relevanten Funktionen hin, die jede Klasse dieses Versionierungssystems bietet.

Auf der Benchmark-Front haben Sie die interesting question from Jakub Narębski auf Netzwerk-Benchmarking, sowie his answer for Git.
Das ist vielleicht zu "Git-zentrisch", kann aber auch verwendet werden, um die richtigen Fragen zu stellen, wenn Sie entscheiden, welche Art von Versionierungstool Sie für Ihr Projekt benötigen.

+0

Die DVCSAnalysis ist die Art von Papier, die ich suchte, sehr gute Analyse von Google. – benjamin

+0

Diese Analyse ist veraltet und war tatsächlich sehr veraltet, als sie veröffentlicht wurde. Siehe meine Kommentare dazu hier: http://news.ycombinator.com/item?id=577976 Meine Meinung ist, dass Git und Mercurial in fast jeder Hinsicht zu SVN/CVS überlegen ist - ich glaube, fast jeden Entwickler, der verwendet wird Beide Systeme würden in irgendeiner sinnvollen Weise übereinstimmen. Bei Git/Hg sind sie weitgehend vergleichbar und beide wären eine gute Wahl, obwohl Git einen gewissen Marktanteilvorteil zu haben scheint, FWIW. –

+0

@Scott, vielen Dank für Ihr Feedback. Ich habe es in meine Antwort integriert. ** Aber **: 1/in Bezug auf Windows, dessen [unterstützt] (http://code.google.com/p/msysgit/updates/list) es immer noch [wackelig im besten Fall, siehe diese SO-Antwort] (http://stackoverflow.com/questions/1704565#1704687). 2/Und die git checkout Datei vs. Zweig stellt immer noch eine Menge Leute (siehe [diese SO beantworten] (http://stackoverflow.com/questions/2961240#2961348)) – VonC

4

Wenn es darauf ankommt, "welche vcs ist richtig für mich" ist eine sehr subjektive Frage, die viel abhängt von den Parametern Ihrer Workflow-Anforderungen, Ihrem Projekt und nur dem allgemeinen Stil Ihrer Gruppe.

Wenn Sie sich für Einzelheiten, wie die empirischen Merkmale der einzelnen VCS suchen vergleichen, einen Blick auf die folgenden Diagramme nehmen:

http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

Wirklich obwohl, alles darüber hinaus wird eine subjektive Meinung sein - Selbst wenn Sie empirische Tests durchführen, erhalten Sie am besten eine Reihe verschiedener Vergleiche, die darauf hinweisen, dass ein VCS in einem bestimmten Bereich und ein anderer in einem anderen Bereich ausgezeichnet ist. Wie Sie diese Bereiche hinsichtlich ihrer Wichtigkeit einstufen, bleibt Ihnen überlassen.

+0

Gute allgemeine Verbindung. +1 – VonC

+0

Das ist ein guter Anfang. – benjamin

0

Wenn Sie bekommen Git wissen, ist Linus Torvalds TechTalk bei Google sehr gut 1. Es ist (natürlich) sehr pro git und gegen alles andere aber es macht Spaß zu sehen.

Verwandte Themen