Wie konfigurieren und greifen Sie auf mein Subversion -Repository zu und greifen Sie auf, nachdem ich die Subversion auf meinem dedizierten Server von GoDaddy Centos installiert habe?

StackOverflow https://stackoverflow.com/questions/8814659

Frage

Ich habe die Subversion auf meinem Server erfolgreich installiert. Wenn ich den Befehl ausführe:

which svn

Ich bekomme die Antwort:

/usr/bin/svn

Ich erstelle ein Repository in meinem Root -Verzeichnis, das mein httpdocs -Ordner mit dem folgenden Befehl ist:

svnadmin create ~/svn

Ich habe die folgenden Dateien und Ordner erfolgreich erstellt und sie konfiguriert. Ich sehe die folgenden Dateien und Verzeichnisse im SVN -Verzeichnis:

conf  db  format  hooks  locks  README.txt

Aber ich kann keinen Koffer-, Zweig- und Tag -Verzeichnis erstellen. Tatsächlich kann ich keine Verzeichniszeit erstellen. Hier ist der Befehl, den ich verwendet habe:

svn mkdir file:///httpdocs/svn/site

Wenn ich diesen Befehl zur Nachricht erstelle, die ich bekomme, ist die folgende:

svn: Could not use external editor to fetch log message; consider setting the
$SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no
'editor-cmd' run-time configuration option was found

Auch wenn ich URL einmachte:

http://mydomain.com/svn

Ich bekomme die Follwoing -Nachricht:

404 - Not Found 

Was muss ich tun, um mein Repository zu konfigurieren? Überprüfen Sie, ob mein Repository tatsächlich funktioniert. Oh und ich habe den folgenden Befehl ausgeführt:

svnserve -d
War es hilfreich?

Lösung

Ich erstelle ein Repository in meinem Root -Verzeichnis, das mein httpdocs -Ordner mit dem folgenden Befehl ist ...

So erhalten Sie nicht die Subversion, um mit Apache HTTPD zu arbeiten, wenn Sie dies tun. Sie benötigen die Module mod_dav und mod_dav_svn für Apache. Möglicherweise müssen Sie Apache neu kompilieren, um diese zu erhalten.

Sobald Sie mod_dav und mod_dav_svn installiert erhalten haben, müssen Sie Ihre httpd.conf -Datei konfigurieren (oder eine Konfigurationsdatei unter Ihre HTTPDs setzen conf.d Je nachdem, wie es in Ihrem System konfiguriert ist), damit es funktioniert.

Am Ende ist es nicht so schwierig. In den meisten Apache -Installationen werden mod_dav und mod_dav_svn hinzugefügt, und Sie können sehen, ob Ihre http.conf -Datei korrekt konfiguriert ist. Das Online -Subversionshandbuch hat Alles, was du brauchst Um es zum Laufen zu bringen.

SVN: konnte keinen externen Editor verwenden, um Protokollnachricht zu holen. Betrachten Sie die Umgebungsvariable $ SVN_EDITOR oder verwenden die Optionen-Message (-M) oder--Datei (-f) SVN: Keine der Umgebungsvariablen SVN_EDITOR, Visual oder Editor sind festgelegt, und kein 'Editor-CMD' Run- Die Zeitkonfigurationsoption wurde gefunden

Lies die Nachricht. Es sagt Konnte keinen externen Editor verwenden Weil Sie keinen angegeben haben. Wieder erklärt die Subversion Online -Handbuch es in Detail.

Wenn Sie eine Veränderung der Subversion begehen, müssen Sie im Grunde eine Commit -Nachricht erstellen. Dies kann auf zwei Arten erfolgen:

  • Sie verwenden die -m Option wie svn commit -m "This is my commit message".
  • Sie setzen die Variablen SVN_EDITOR, VISUAL, oder EDITOR zum Namen des Programms, das Sie verwenden möchten. Zum Beispiel würden Sie in Windows sagen C:> set EDITOR=notepad.exe. Auf Unix würde man so etwas sagen wie $ export EDITOR=vi. Subversion überprüft zuerst den Wert der SVN_EDITOR Variable dann VISUAL, dann EDITOR. Wenn keiner von ihnen eingestellt ist, gibt es Ihnen den Fehler, den Sie gesehen haben.

Warum hast du es auf die? svn mkdir Befehl?

Da Sie die URL -Form des Befehls verwenden, wird das Verzeichnis erstellt und dann die Änderung begehen, somit die Notwendigkeit einer Commit -Nachricht. Das sollte funktionieren:

svn mkdir -m"Adding the site directory to my repository" file:///httpdocs/svn/site

Jetzt müssen Sie Ihr Repository aus Ihrem HTTPDOCS -Verzeichnis verschieben. Das ist eine sehr schlechte Sache, weil es Ihrem Webserver schadet.

Wenn Sie das nicht verwenden möchten file:// Protokoll können Sie verwenden svnserve. Dies ist ein integrierter Subversion-Repository-Server und verwendet die svn:// Protokoll. Beobachten:

$ svnadmin create my_repos   #Creates the repository
$ vi my_repos/conf/svnserve.conf  #See footnote 1 below
$ vi my_repos/conf/passwd         #See footnote 1 below
$ svnserve -r my_repos -d
$ svn mkdir -m "Making basic directory layout svn://localhost/trunk \
> svn://localhost/tags svn://localhost/branches
$ export SVN_EDITOR="vi"

Ihr Repository ist auch für alle Maschinen in Ihrem Netzwerk zugänglich. Die Verwendung von SVNServe ist viel einfacher als Apache HTTPD, aber es gibt einige Probleme:

  • Sie können nicht mehrere Instanzen von ausführen svnserve Da es Port 3690 verwenden möchte und es nicht gerne teilen möchte. Mit Apache HTTPD können Sie mehrere Repositorys haben.
  • Das Sicherheitsaufbau mit SVNServe ist begrenzt. Mit Apache kann ich Windows Active Directory oder LDAP verwenden oder es manuell konfigurieren.
  • Einige webbasierte Subversion -Repository -Browser mögen SvnServe nicht.

Übrigens, wenn Sie es nicht getan haben, gehen Sie die durch die Subversion Online -Handbuch. Es ist eines der besten Handbücher, die ich für jedes Open -Source -Projekt gesehen habe.


1 Wenn Sie Ihr Repository einrichten svnserve, Sie müssen die bearbeiten svnserve.conf Datei durch Aktivieren der Zeile password-db = passed Welches handelt von Zeile Nr. 20 in der Datei. Dann müssen Sie die bearbeiten passed Datei (im selben Verzeichnis) zum Konfigurieren der Benutzer und deren Passwörter. Beide sind sehr einfach, aber leicht zu vergessen, und wenn Sie es nicht tun, können Sie nichts in Ihr Repository eingeben.

Andere Tipps

Wenn Sie Filialen und Tags kofferten, müssen Sie den Download benötigen import_dirs.copy

als danach als cd /location/import_dirs.copy als ausführen als Befehl

cd /data/svn/import_dirs.copy/ 
svn import  file:///location of repos/reposname/  -m "inital message"

Dies ist das Beispiel dafür .....

cd /home/raj/import_dirs.copy/
svn import  file:///srv/svn/nmg/  -m "inital message"

als Kofferraumzweige und Tags wurden durchgeführt

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top