2009-05-06 18 views
6

Ich suche nach einer guten Quellkontrolllösung. Hier sind die Anforderungen:Welche Quellensteuerung sollten wir verwenden?

  1. Muss eine GUI oder ein GUI-Plug-in haben.
  2. Muss frei sein.
  3. Muss mit HTTP arbeiten.

Welche Quellensteuerung würden Sie wählen?

HINTERGRUND

Unser .Net-Entwicklungsteam ist Teil eines großen Muttergesellschaft. Wir sind dabei, VS Team System zu erwerben, aber die Bürokratie eines großen Unternehmens bewegt sich langsam und es könnte Monate dauern, bis wir einen Team System Server in Betrieb haben. In der Zwischenzeit haben wir ein großes Projekt, das an einen Lieferanten in Indien ausgelagert wird. In der Vergangenheit war der Prozess unseres Teams in etwa so: 1) die Anforderungen spezifizieren, 2) das indische Team die Lösung erstellen lassen und 3) die Lösung einen Monat später vom Anbieter zurückbekommen.

Wir sind auf der Suche nach einem disziplinierten Ansatz und Team System ist unsere langfristige Lösung, aber ich möchte jetzt etwas anstelle von nichts verwenden.

Hier sind einige meiner Gedanken:

  1. Source Safe ist ein No-Go, wegen Stabilitätsproblemen.
  2. Benutzerfreundlichkeit ist wichtiger als erweiterte Funktionen, wie Verzweigung und ich würde wirklich, wirklich wollen es eine GUI im Vergleich zu Befehlszeilen verwenden.
  3. HTTP-Zugriff ist ein Muss, da das Entwicklungsteam entfernt sein wird.

Weitere Informationen als auf Feedback oben folgen bisher

Wir brauchen eine kostenlose Lösung, nicht, weil wir es nicht leisten können, sondern weil die Corporate Einkaufspolitik des Unternehmens verzögern es zu bekommen. Free ermöglicht es uns, jederzeit zu installieren. Ich nehme an, wenn ich billig genug wäre, könnte ich aus meiner eigenen Tasche bezahlen, aber das müsste ziemlich billig sein.

Finale

Leider haben wir am Ende keine der Empfehlungen verwenden. Wir haben schließlich eine TFS-Lizenz erhalten, es wird jedoch nicht erwartet, dass wir die Freigabe für die Nutzung des Servers bis nächstes Jahr erhalten. In der Zwischenzeit werden die ZIP-Dateien vom Offshore-Team auf einen FTP-Server hochgeladen. Ugggghh! Warum ist es so schwer, große Unternehmen davon zu überzeugen, dass es nicht ok ist, Nicht-Standard-Lösungen (wie GIT) zu verwenden, anstatt Monate (oder Jahre) zu warten, um zu entscheiden, ob ein Kauf (in diesem Fall TFS) erfolgt? es ist es wert.

+0

Was meinen Sie mit HTTP-Zugriff? Meinst du: 1) Sie möchten in der Lage sein, Code über ein Netzwerk über die HTTP-Ports ein- oder auszuchecken oder 2) Sie möchten den Quellcode in einem Webbrowser-Fenster durchsuchen? – Eyal

+0

Gute Frage. Es wäre besser, über HTTP ein- und auschecken zu können, da wir den Server hier einrichten und warten können und dem Anbieter ermöglichen, remote einzuchecken. Dennoch wäre eine Lösung, die nur 2) bietet, immer noch eine Verbesserung gegenüber dem, was wir heute haben. – John

+0

Ehrlich gesagt, ich kenne keinen kommerziellen SCM, der irgendwelche Vorteile gegenüber den freien hat, und die, mit denen ich versucht habe zu arbeiten, scheinen eine Reihe von * dis * Vorteilen zu haben. –

Antwort

25

Ich empfehle Subversion und TortoiseSVN. Sogar die documentation für Subversion ist kostenlos.

Bearbeitet zu hinzufügen: Ich empfehle auch dringend VisualSVN Server, um Ihr SVN-Repository einzurichten. Das Setup war ein Kinderspiel und es war so problemlos, dass ich nachsehen musste, wie es hieß, weil ich es seit der ersten Einrichtung nicht einmal anfassen musste.

+0

Subversion ist geradlinig, ziemlich einfach zu bedienen und vor allem verwenden viele Leute es, so dass es eine umfangreiche Dokumentation online gibt. Außerdem gibt es mehrere verschiedene GUI-Clients und Plugins für die meisten größeren IDEs (z. B. Visual Studio). –

+0

Subversion ist der De-facto-Standard ... heutzutage. Es ist großartig. Wenn Sie Windows verwenden, sollten Sie darauf hingewiesen werden, dass Subversion-Dateinamen die Groß-/Kleinschreibung beachten. Wie auch immer, SVN ist einfach zu bedienen und verlieben sich auch. –

10

Denken Sie an ein verteiltes System: darcs, git oder mercurial. Sie alle haben ihre Anhänger, aber operativ sind sie sich sehr ähnlich. Darcs kann lange dauern, um zu bauen, weil es in Haskell geschrieben wird, und am Ende müssen Sie Haskell zuerst bauen. Mercurial basiert auf Python, ist einfach zu hacken und zu erweitern. Und natürlich ist Git, was für Linux verwendet wird, sehr weit verbreitet, viele Tools.

Subversion ist, denke ich, so ziemlich die Basis des modernen SCM; es wäre auch eine gute Wahl, aber es zwingt Sie, einen festen zentralen Server zu haben; Entweder Sie oder Ihre indischen Kollegen müssen sich eine lange Pfeife zulegen und begehen.

+0

Ich würde gerne wissen, wofür der Downvote war. –

+1

Ich mag, wie diese Antwort mehr als eine Alternative bietet, und jede Wahl mit Pros und Contras motiviert, anstatt eine eindeutige Antwort zu geben, die das sein könnte, was der Fragesteller suchte. Stimme dafür auf –

+0

Wahrscheinlich, weil du git nicht zuerst in die Liste gesetzt hast. Gotteslästerer! –

1

Der Team Foundation Server ist relativ einfach zu verwenden und leicht zu starten, da er aus einem quellfreien Hintergrund stammt (die gemeinsame Terminologie für Befehle). Da jedoch ein Teil der Entwicklung in Indien stattfindet, sind sie möglicherweise besser mit Subversion vertraut.

Wenn Sie Subversion verwenden, würde ich VisualSVN betrachten. Es ist fantastisch, einfach zu bedienen und schnell einzurichten (TFS ist ein wenig kompliziert einzurichten). VisualSVN bietet ein IDE-Plug-In ($ 50) und ein Server-Gegenstück, das Subversion für Windows-Rechner bootet (Free)

+0

TFS ist sehr, sehr weit von frei. –

+0

ah, habe den freien Teil nicht bemerkt. –

+0

obwohl es etwas frei ist, wenn Sie sowieso MSDN-Abonnement haben. –

0

Ich zweite SVN und TortoiseSVN.

Ich bin von CVS und WinCVS gezogen und ich bin sehr glücklich mit diesem Setup.

0

Ich würde die Quellcodeverwaltung empfehlen, wo die meisten Ihrer Teammitglieder die meiste Erfahrung haben oder wo Sie jemanden in Ihrem Team haben, der ein Experte für.

Meiner Meinung nach neben der endlosen "Git ist besser als Subversion ist besser als CVS" -Diskussion Ich glaube nicht, die Unterschiede zwischen ihnen ist, was zählt.

Es ist wichtiger, jemanden zu haben, der wirklich weiß, wie man das System benutzt, das man benutzt.

1

Meine Empfehlung ist Subversion + TortoiseSVN (für Explorer-Integration) + AnkhSVN (Integration mit Visual Studio).

Ich denke, Sie sollten keine der Distribution Versionskontrollsysteme verwenden, denn danach müssen Sie zurück zu zentralisierten, die schmerzhaft sein können.

1

Wie erwähnt, SVN und Tortoise sind der Weg zu gehen.

Ich würde auch eine Lizenz für visuelle SVN (http://www.visualsvn.com/) bekommen, es ist nicht kostenlos, aber es ist wirklich gut, es nutzt Tortoise Svn und gibt Ihnen seine Funktionen in der IDE.

0

Die Einrichtung von Subversion für die .Net-Entwicklung ist einfacher geworden.Sie könnten mit installing Visual SVN Server beginnen. Dies wird Subversion Server auf einem Windows-Rechner installieren, wird Sie durch die Einrichtung Ihres Repository, Authentifizierung, etc.

Dann für Visual Studio Integration mit Subversion können Sie versuchen VisualSVN, es ist nicht kostenlos, aber die Lizenz wert. Aber wenn Ihr Budget es nicht erlaubt, Ankhsvn funktioniert auch gut, ich benutze es jeden Tag.

0

Ich musste vor einigen Monaten eine ähnliche Entscheidung treffen. Ich mochte SVN sehr, aber das Fehlen von GUI für die Verwaltung war ein großes Problem für mein Team. TFS war ideal, aber sehr teuer.

Wir beschlossen, auf halbem Weg und Lizenz SourceGear Vault zu treffen. Es erfüllt leider nicht Ihre Anforderung von "kostenlos". Obwohl ich seine comparison with SVN interessant fand.

4

Subversion (SVN) ist offensichtlich eine beliebte Wahl. Es wird auch ziemlich häufig verwendet (Google Code, Sourceforge, etc.), also sollte es eine Menge Dokumentation über seine Verwendung geben. Git ist auch eine gute Wahl, aber das Fehlen von GUI-Schnittstellen macht es nicht so gut für Ihre Anforderungen.

Ich gehe davon aus, dass Sie .NET in erster Linie in einer Windows-Umgebung entwickeln. Sehen Sie sich VisualSVN-Produkte an. Sie sind ein großartiges (FREE) Serverprodukt für die Ausführung eines vollwertigen svn Servers in einer Windows-Umgebung (es unterstützt SSL, Gruppen-/Benutzerauthentifizierung einschließlich Active Directory-Unterstützung).

Sie bieten auch ein Visual Studio-Plugin, obwohl es nicht kostenlos ist (obwohl ziemlich vernünftig bei $ 49/Entwickler). AnkhSvn ist eine weitere Visual Studio-Client-Plugin-Option. Es ist nicht ganz so toll, aber es ist kostenlos.

http://www.visualsvn.com/server/ - Free Windows SVN Server

http://www.visualsvn.com/visualsvn/ - Visual Studio-Client Plugin

http://ankhsvn.open.collab.net/ - Free Visual Studio-Client Plugin

Also, ich glaube Subversion die VisualSVN Produktangebote mit gehen Sie geben beste Windows/GUI-Integration zu einem sehr günstigen Preis.

2

SVN saugt ziemlich schlecht über HTTP in meiner Erfahrung. Sie werden sich die Haare ausreißen wollen, wenn Ihr Repo von bedeutender Größe ist, besonders wenn Sie eine Transatlantik-Rundreise machen. Persönlich würde ich mit Mercurial gehen.

Google hat kürzlich einige research auf Git im Vergleich zu Mercurial getan. Der größte Vorteil von Mercurial war, dass es mit HTTP extrem gut lief.

TortoiseHg, obwohl nicht ganz so ausgereift wie TortoiseSVN, ist eine ziemlich solide Windows GUI. Obwohl Sie erwähnt haben, dass Sie nicht sehr an Verzweigungen und Zusammenführungen interessiert sind, sind diese Aktivitäten in allen DVCS üblich. Zum Glück, weil sie üblich sind, werden sie in der Benutzeroberfläche und relativ schmerzlose Aktivitäten insgesamt gut unterstützt.

0

Wenn Sie sicher sind, dass Sie zu Team System gehen, dann glaube ich, dass es eine 180-Tage-Testversion gibt, die Sie verwenden können. Auf diese Weise müssen Sie nicht wechseln.

+0

Wer möchte sagen, warum der Downvote? Kann nicht lernen, wenn Sie nicht unterrichten. –

1

Mercurial ist großartig und wirklich einfach.

0

Eine weitere Abstimmung für SVN.
Für einen leichten SVN-Server unter Windows sehen Sie sliksvn. Es führt keine HTTP-Quellensuche durch, ist aber viel kleiner und einfacher einzurichten als Apache-basierte Server für kleine Gruppen.

1

Geben Sie Mercurial eine Aufnahme. BitBucket hat kostenlose Accounts, mit denen Sie herumspielen können. Ich habe mehr darüber geschrieben, warum ich es verwende here.

Verwandte Themen