Frage

Ich versuche, eine Migration von CVS zu SVN auf meinem neuen XSERVE -Server durchzuführen, auf dem OS X -Server ausgeführt wird. Es gibt einen bekannten Konflikt zwischen den CVS2SVN- und DBM-Bibliotheken, die mit OS X vorinstalliert sind. Der Fehler lautet:

Fehler: CVS2SVN verwendet das AnyDBM -Paket, das von DBM -Bibliotheken mit niedrigerer Ebene abhängt. Ihr System verfügt über DBM, mit dem CVS2SVN Probleme hat. Um CVS2SVN zu verwenden, müssen Sie eine andere Python -DBM -Bibliothek als DumbDBM oder DBM installieren. Sehen http://python.org/doc/current/lib/module-anydbm.html für mehr Informationen.

Ich folgte allen vorgeschriebenen Schritten in der CVS2SVN FAQ Aber der Fehler bleibt immer noch bestehen. Kennt jemand eine alternative Möglichkeit, diese Aufgabe oder eine andere Website zu erfüllen, die eine andere Lösung für dieses scheinbar gemeinsame Problem bietet?

War es hilfreich?

Lösung

Da CVS- und Subversion -Repositories wirklich nur Sammlungen von Dateien sind, kann eine Möglichkeit, dieses Problem zu umgehen Ihr Server. Der zusätzliche Vorteil dieser Methode besteht darin, dass Sie das Risiko nicht ausführen, dass Sie Ihre Serverkonfiguration bei diesem Konvertierungsschritt versehentlich durcheinander bringen.

Andere Tipps

CVS2SVN selbst ist in MacPorts erhältlich. Anstelle der DBM -Bibliotheken können Sie CVS2SVN mit MacPorts installieren:

port install cvs2svn

Wenn nicht bereits installiert, werden auch die MacPorts -Version von Python2.5 und anderen Abhängigkeiten installiert. Das hat keinen Schaden daran, aber es wird ein wenig Zeit und ein wenig mehr Platz dauern. Der Vorteil ist, dass Sie eine funktionierende, unterstützte Version haben sollten, ohne weitere Abhängigkeitsprobleme bekämpfen zu müssen.

Sie können andere DBM -Bibliotheken immer manuell mit EG Macports installieren.

Wenn Sie bereits Subversion installiert haben, haben Sie sichergestellt, dass der Pfad direkt in Ihren Systemvariablen eingestellt ist?

Ich hatte das gleiche Problem bei mir und musste die Variablen in Python_Home und Pfad zu verwenden

C: pyton27

Vielleicht klingt ein bisschen verrückt oder übertrieben, aber denken Sie daran, "Git" (z. B. Macports -Version) zu verwenden. Es kloniert die vollständige CVS -Geschichte und drückt ihn in ein Subversion -Repository. Die folgenden Schritte sollten die Arbeit ausführen (siehe die Befehlshandbücher, Git hilfs ´cmd´):

    port install git-core cvs cvsps svn (if necessary)

    create directory for git and init cvs git repo (let´s say ´cd ~/cvsgit´):
    git cvsimport -v -d CVSROOT module

    create new subversion repository (svnadmin) with trunk, tags, branches
    now import this new repository to a git repository:
    git svn clone -s file:///path/to/svnrepo  (without trunk, tags, branches)
    this creates a svnrepo directory; rename and move it to e.g. ~/svngit

    now add the cvs git repo to svn repo:
    cd ~/svngit
    git remote add cvsrepo ~/cvsgit
    git fetch cvsrepo

    now merge the cvs master branch to the local svn master branch:
    git merge remotes/cvsrepo/master

    finally commit to (real) svn repository:
    git svn dcommit

Sie sind fertig!

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