Domanda

Sto cercando di eseguire una migrazione da CVS a SVN sul mio nostro nuovo server Xserve, che è in esecuzione OS X Server. Esiste un conflitto noto tra le librerie cvs2svn e DBM che vengono pre-installato con OS X. L'errore è:

  

ERRORE: cvs2svn utilizza il pacchetto anydbm, che dipende dalle librerie dbm di livello inferiore. Il sistema dispone di dBm, con il quale è conosciuto cvs2svn ad avere problemi. Per utilizzare cvs2svn, è necessario installare una libreria dbm Python diverso dumbdbm o dBm. Vedere http://python.org/doc/current/lib/module-anydbm .html per ulteriori informazioni.

Ho seguito tutte le operazioni prescritte nel cvs2svn FAQ ma l'errore persiste . Qualcuno sa di un modo alternativo per eseguire questa operazione, o in un altro sito web che offrono una soluzione diversa a questo problema apparentemente comune?

È stato utile?

Soluzione

Dato che CVS e repository Subversion sono in realtà solo collezioni di file, un modo per aggirare il problema potrebbe essere quello di copiare il repository CVS di una macchina in cui cvs2svn può essere eseguito con successo, eseguirlo per convertire in Subversion, e quindi copiare il nuovo di nuovo repository per il server. Il vantaggio di questo metodo è che non si corre il rischio di rovinare accidentalmente la configurazione del server mentre si fa questo passo di conversione.

Altri suggerimenti

cvs2svn stesso è disponibile in MacPorts Così, invece di solo le librerie dbm, è possibile installare cvs2svn utilizzando MacPorts:

port install cvs2svn

Se non è già installato, sarà anche installare la versione di MacPorts python2.5 e altre dipendenze. Non c'è nulla di male in questo, ma ci vorrà un po 'di tempo e un po' di spazio in più. Il vantaggio è che si dovrebbe avere un lavoro, versione supportata senza dover combattere ulteriori problemi di dipendenza.

Si può sempre installare manualmente altre biblioteche DBM utilizzando per esempio MacPorts.

Se avete già installato la sovversione, Hai fatto in modo che il percorso si trova proprio nelle variabili di sistema?

ho avuto quella stessa edizione sulla mia e ho finito per dover aggiungere le variabili in Python_Home e il percorso da usare

C: \ Pyton27 \

suona Forse un po 'pazzo o eccessivo, ma pensare di utilizzare 'git'(ad esempio, la versione MacPorts). Si clona la storia completa CVS e lo spinge in un repository Subversion. I seguenti passi dovrebbero fare il lavoro (vedi manuali del comando, git help'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

Il gioco è fatto!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top