Ich möchte ein SVN-Repository auf meinem Computer ohne Netzwerkzugriff einrichten. Ich arbeite an einem Code ohne Mitarbeiter, daher möchte ich nicht, dass er öffentlich verfügbar ist.
Ich habe diesen Beitrag gelesen , er schlägt jedoch die Verwendung von Online-SVN-Repository-Diensten vor, die kostenlose Repositorys bereitstellen. In diesem Fall ist mein Code öffentlich verfügbar (wie in den Bedingungen für kostenlose Pläne enthalten).
Ich habe mich also gefragt, ob ich auf meinem Windows XP-Computer einen lokalen Server einrichten kann, auf den nur ich zugreifen kann, auch wenn ich keine Internetverbindung habe.
Antworten:
Der einfachste Weg, einen lokalen Server einzurichten, ist die Verwendung von svnserve :
Sie nicht wirklich brauchen einen Subversion - Server aber, wenn alles , was Sie tun wollen Zugriff lokal das Repository ist, da Sie eine Subversion - Repository über eine Datei - URL zugreifen können, wie beschrieben in dieser Antwort :
Wenn Sie TortoiseSVN verwenden , finden Sie Anweisungen unter Erstellen des Repositorys mit TortoiseSVN :
Direkt oben auf dieser Seite wird auch beschrieben, wie Sie ein Repository über die Befehlszeile erstellen .
Trotzdem würde ich empfehlen, dass Sie sich Mercurial oder Git als Alternative ansehen
svn
. Wenn Sie mit TortoiseSvn vertraut sind, finden Sie in TortoiseHg und TortoiseGit einen einfachen Übergang. Außerdem haben Sie die Möglichkeit, später verteilt zu arbeiten, wenn dies erforderlich ist. In der Vergangenheit habe ich zum Beispiel Memory Sticks verwendet, umhg
Repositorys zwischen Computern ohne Netzwerkzugriff zu übertragen , und wenn Sie auf diese Weise arbeiten, erhalten Sie ein kostenloses Backup.quelle
Der einfachste (und schnellste) Server, den Sie für die Arbeit mit dem lokalen Repository verwenden können, ist in jeden SVN-Client eingebettet . Dies ist ein Server für den Zugriff auf ein beliebiges Repository und eine beliebige Anzahl von Repositorys , die im lokalen Dateisystem vorhanden sind, unter Verwendung der Protokolldatei: ///. Es bietet keine Autorisierungs- oder Authentifizierungsmethoden, gewährt nur uneingeschränkten Zugriff auf das kontrollierte Repository, erlaubt jedoch die Verwendung und bietet alle Funktionen des VCS-Systems an sich.
Um diesen Server nutzen zu können, müssen Sie in einem beliebigen leeren Verzeichnis an einem beliebigen Ort den CLI-Befehl svnadmin mit dem entsprechenden Unterbefehl und den entsprechenden Parametern aufrufen (Ich kann mich nicht erinnern, gibt es Verwaltungsprogramme im CLI-Client-Bundle oder nicht und kann nicht check it - Ich habe CLI svn-client nicht installiert, nur TortoiseSVN, die diese Programme in Installer in Version 1.7 haben. - Ich hoffe, Sie werden es finden können.
svnadmin help
zeige uns alle verfügbaren Unterbefehle, wir sind jetzt an Unterbefehlen interessiertcreate
.svnadmin help create
Geben Sie alle für uns erforderlichen Details anAm Startpunkt für das erste Repo können wir alle Feinabstimmungsoptionen ignorieren und uns nur an das Hauptformular erinnern
svnadmin create REPOS_PATH
, da REPOS_PATH der absolute oder relative Pfad zum leeren Verzeichnis ist, der für das Repo geplant ist. Da die meisten normalen Windows-Benutzer für plattformübergreifende Anwendungen verwirrt sein können, welche Schreibweise (Forward- oder Backslashes) im Pfad (Metoo) zu verwenden ist, ist der sicherste Wegcd
der Ort, von dem aus unser Verzeichnis ohne langen Pfad sichtbar ist - Eltern des zukünftigen Repo-Verzeichnisses oder des Verzeichnisses selbst. Für Repoz:\Main
vorher geplantsvnadmin create
und zuletzt,
Als Ergebnis erhalten wir ein leeres Repository im Verzeichnis, das im Windows Explorer mit einem speziellen Symbol als Inhaltsindikator angezeigt wird
Jedes Mal, wenn dieses Repository benötigt wird, verwenden wir die üblichen SVN-Befehle, da der URL-Teil oder die Parameter wie folgt aussehen
file:///Z:/Main
(Ich habe Standard-Repository-Baum in Repo hinzugefügt).
Untersuchen wir diese seltsame URL:
file:///
Wie bei jeder URL bedeutet Zugriffsprotokoll, in unserem Fall ist das Protokoll speziell und hat drei, nicht zwei SchrägstricheZ:/Main
ist voller Pfad zum Repo mit Laufwerk und Pfad innerhalb des Laufwerks, dort werden alle Windows-Backslashes durch "klassische" Forward-Slashes ersetztAnsonsten hat dieses Repository keine Unterschiede zu "Big Brothers" mit speziellen Subversion-Servern
quelle
Versuchen wir eine Antwort, die eher generische als spezifische Lösungen empfiehlt.
Erstens können Sie Subversion auf einem eigenständigen Computer verwenden. Sie können den Server lokal installieren oder mit file: // arbeiten.
Aber es sei denn, es gibt einen sehr guten Grund, warum Sie Subversion verwenden müssen. Ich würde vorschlagen, dass dies nicht die beste Lösung für das Problem der lokalen Versionskontrolle ist - nicht zuletzt, weil es eines der Dinge versagt, die ich für wesentlich halte, dh dafür zu sorgen, dass Sie Der Quellcode befindet sich an mindestens zwei Stellen (ja, auch für persönliche Dinge). Ich würde daher die Verwendung eines Distributed Version Control Systems (DVCS) vorschlagen.
Einer der Vorteile von DVCS besteht darin, dass sich die Repositorys nach der Installation der Tools in einem Ordner befinden und Sie Inhalte zwischen verschiedenen Ordnern mit demselben Repository synchronisieren können, sofern Sie über Dateizugriff verfügen. Sie haben auch die Möglichkeit, mit "Server" -Versionen dieser Repos (die entweder privat gehostet oder als Service verfügbar sind) zu sprechen. Dies macht das Leben viel einfacher, alles vor Ort zu betreiben.
DVCS bietet noch weitere Vorteile.
Wie ich bereits bemerkt habe, glaube ich nicht, dass Sie wirklich eine richtige VCS-Lösung haben, bis sich Ihr Code auf mindestens zwei Rechnern befindet (insbesondere auf zwei verschiedenen Festplatten und idealerweise an mehr als einem Ort - obwohl Sie klonen und USB-Stick oder USB-Stick drücken "Cloud" -Speicher (Skydrive, Dropbox usw.) ist eine weitere Möglichkeit, die ebenfalls funktionieren sollte.
In Bezug auf welche DVCS - ich würde Mercurial (Hg) und Git und auch bei Veracity suchen . Ich benutze Mercurial, weil es unter Windows noch schöner ist ...
Wenn Sie sich für gehostete Dienste entscheiden, stimme ich tatsächlich zu, dass es sehr viel zu empfehlen gibt - aber es gibt auch viele nette Dinge über bitbucket und Fogbugz / Kiln ... und das gilt wahrscheinlich auch für viele andere Dienste die ich nicht aufgeführt haben (zB http://beanstalkapp.com/ , die auf Twitter heute früher im Vorbeigehen zu mir erwähnt wurde)
quelle
Subversion benötigt keinen Server. Es wird ein zentrales Repository verwendet. Auf dieses Repository kann jedoch über die Zugriffsmethode 'file' zugegriffen werden. Das heißt, Sie müssen lediglich auf das Dateisystem zugreifen, auf dem das Repository gespeichert ist. Die einfachste Möglichkeit, dies einzurichten, besteht darin, irgendwo auf Ihrer Festplatte einen Ordner zu erstellen, TortoiseSVN (oder ein ähnliches Tool) darauf zu zeigen und "Repository hier erstellen". Von dort aus können Sie alles tun, um Ihren Code in das Repository zu übertragen.
Auf lange Sicht ist es jedoch wahrscheinlich besser, ein verteiltes SCM zu verwenden. Die besten Kandidaten sind git (leistungsfähigere, steilere Lernkurve, funktioniert am besten unter * nix) und mercurial (etwas weniger leistungsfähig, einfach zu erlernen, funktioniert gleichermaßen) gut auf Windows und * nix). Damit enthält Ihre Arbeitskopie das gesamte Repository und Sie können beliebig viele Klone (remote oder lokal) erstellen. Sie können lokal beginnen, und wenn Sie das Repository extern hosten möchten, klonen Sie einfach Ihr vorhandenes lokales Repository an den externen Speicherort, und Sie können jederzeit in beide Richtungen synchronisieren. Besser noch, da jeder Ihrer Klone den gesamten Projektverlauf enthält, fungiert der SCM gleichzeitig als Backup-System. Wenn Ihr Server bei Subversion ausfällt und Sie ihn nicht gesichert haben, ist Ihre Historie verschwunden - mit git,
http://hginit.com/ enthält ein hervorragendes Tutorial für den Einstieg in mercurial.
quelle
Es gibt eine ganze Reihe von SVN-Hosting-Unternehmen , die ein oder zwei Entwicklern ein kostenloses Konto anbieten und nicht verlangen, dass Ihr Code öffentlich ist. Überprüfen Sie das verknüpfte Diagramm auf 0 USD Gebühr, OSS erforderlich = NEIN. Ich zähle derzeit neun Anbieter, die diese Kriterien erfüllen.
Zwar können Sie Ihr eigenes Repository ganz einfach hosten, doch die Verwendung eines Providers bietet einige Vorteile:
Sie können von überall ohne zusätzliche Einrichtung auf Ihren Code zugreifen.
Wenn Sie Ihren Code außerhalb des Standorts aufbewahren, werden Sie vor Abstürzen, Bränden usw. geschützt.
Geringer administrativer Aufwand.
quelle