Stiamo testando utilizzando git come sistema di repository al posto del nostro normale svn. C'è un repository svn di cui abbiamo sempre bisogno. In svn colleghiamo questo repository con svn propset come svn: esterni. Ciò garantisce che ci sia davvero una sola copia globale di quel particolare repository, pesantemente usato.Tentativo di configurare un repository SVN in Git
Ora che abbiamo repository git, vorrei collegare il repository SVN ad esso essenzialmente nello stesso modo in cui lo si può fare con svn: externals. Sono riuscito in qualche modo a farlo. Sono nuovo di git, per favore scusate ogni ignoranza.
nel repository git pura (che clono via git clone [email protected]:mygitrepo
) ho usato:
git svn clone svn+ssh://[email protected]/path/to/mysvnrepo mysvnrepo
per ottenere una copia degli altri repository svn. Funziona alla grande, posso ottenere nuove revisioni al repository SVN tramite git svn rebase
nella directory mysvnrepo e confermare le modifiche tramite git svn dcommit
.
combinare questo al repository git principale che ho usato:
git add mysvnrepo
git commit mysvnrepo
git push
Il problema che sto avendo è se ora mi clonare il repository git da qualche altra parte (di nuovo con git clone [email protected]:mygitrepo
), mentre ho la directory mysvnrepo con tutti i file, non riesco a interagire con il repository SVN. Ottengo l'errore: "Impossibile determinare le informazioni SVN upstream dalla cronologia dell'albero di lavoro" dopo git svn rebase. Forse correlato, non esiste una cartella .git nella directory mysvnrepo quando la clone altrove (questo è dove le informazioni svn sono memorizzate nel repository originale).
Ho cercato un po 'questo problema, ma tutti i riferimenti a esso sembrano avere problemi a far funzionare il repository svn in primo luogo, mentre il mio problema è far funzionare per un altro utente.
Forse il mio problema è come aggiungere/commit/push con successo il repository svn al repository git? vale a dire: git add mysvnrepo; git commit mysvnrepot; git push
; il modo corretto per farlo?
Edit: migliorato per dare più contesto
Come si clona il repository? Usando 'git clone' o verificandolo da SVN o ...? – siegi
intendi il repository git in cui lavoro? sia per il repository git originale che per l'altro utente uso 'git clone [email protected]: mygitrepo' –