2009-08-06 20 views
13

Sto cercando di eseguire git per il mio repository locale e utilizzare SVN per il mio repository centrale in un progetto CodePlex. Ho scaricato la versione più recente di msysgit, ma il supporto SVN non sembra funzionare.Git e SVN su Windows

Il seguente con successo inizializza un nuovo repository vuota e quindi si blocca:

git svn init https://myproject.svn.codeplex.com 
git svn fetch

Dopo aver tentato di eseguire l'operazione di recupero, ottengo il seguente:

Error validating server certificate for 'https://myproject.svn.codeplex.com:443' 
: 
- The certificate is not issued by a trusted authority. Use the 
    fingerprint to validate the certificate manually! 
Certificate information: 
- Hostname: *.svn.codeplex.com 
- Valid: from May 23 02:11:05 2009 GMT until May 23 02:11:05 2010 GMT 
- Issuer: redmond, corp, microsoft, com 
- Fingerprint: f0:89:78:18:47:70:e4:dc:27:01:27:9c:6f:44:4c:3f:8a:9b:ad:79 
(R)eject, accept (t)emporarily or accept (p)ermanently? p

Come potete vedere, ci provo per accettare in modo permanente il certificato, ma msysgit si siede e non esegue mai il recupero.

Sto facendo qualcosa di sbagliato? Il supporto non è lì? Ho trovato un simile Stack Overflow post da dicembre. Non sono sicuro se i sintomi che sto vivendo siano uguali o no.

+1

5 -1/2 anni più tardi e ottengo ancora questo errore. Mi chiedo quanti progetti OSS rimangono morti perché non possono essere clonati? Sì, lo so che puoi scaricare lo zip ma sheesh, davvero? –

risposta

3

Non sono sicuro del perché, ma ci vuole molto tempo per tornare dal prompt precedente che chiede se accettare o meno il certificato. Dopo aver atteso circa 15 minuti, l'operazione è stata completata.

+0

L'ho lasciato in esecuzione per tutta la notte. È scaduto da qualche parte nel mezzo. Non ho fortuna ad aspettare qui. Stranamente anche la pagina del codice sorgente per il progetto che cerco di verificare è molto lenta (richiede fino a 1 minuto per caricare la pagina). Inoltre, so che l'autore del progetto sta effettivamente utilizzando TeamServer per il back-end. Ecco il progetto: https://v8dotnet.codeplex.com/. Il mio obiettivo è forchettarlo a GitHub. Qualsiasi aiuto sarebbe apprezzato. –

+0

@SergiyByelozyorov si, quel sito è piuttosto incasinato. Ha iniziato a clonare per me, ma non è arrivato molto lontano. Contatterei i manutentori o qualcuno su CodePlex per vedere cosa succede. git-svn non funzionerà se l'host di backend sta avendo problemi. – senfo

+0

Apri Windows Resource Monitor e controlla il traffico di rete. Perl.exe è l'eseguibile git-svn. Se ci sono byte allora potrebbe funzionare. Può essere. –

3

git-svn non funziona bene su Windows nella mia esperienza. Quello che consiglierei è di importare git su qualcosa come github o qualsiasi altro git hosting, e usare git "puro" su windows. Questo presuppone che tu abbia un unix (o peggio di cygwin, che dovrebbe funzionare meglio di msysgit suppongo) per fare gli aggiornamenti di git-svn. Non è l'ideale, ovviamente.

+4

Ho esattamente la stessa risposta, usando git-svn su Mac OSX 10.6.5 e Ubuntu 10.04, accedendo ai repository SVN basati su Codeplex, quindi questo non sembra essere un problema solo per Windows. –

1

Ho ottenuto questo lavorando aggiungendo i certificati alla catena di autenticazione. È necessario ottenere il certificato emittente (CA) del certificato server in formato .pem e copiarlo nella directory certs (PATH_TO_GIT \ ssl \ certs) con un nome hash. Generare l'hash in questo modo:

C:\> PATH_TO_GIT\bin\openssl.exe x509 -noout -hash -in PATH_TO_CA_CERT.PEM 

Rinominare il CA-file per l'output del comando e aggiungere" .0" come estensione (ad esempio 0dbd0096.0). In questo modo si apre la CA che può essere utilizzata per certificare il proprio certificato server.

trovare maggiori informazioni qui: http://gagravarr.org/writing/openssl-certs/others.shtml#ca-openssl

1

Codeplex e SVN sono lento come sono arcaici. Ecco che cosa ha funzionato per me

git svn clone https://iswix.svn.codeplex.com/svn -r42691:HEAD 

dove 42691 è stato il changeset più antica del pronti contro termine (o la più antica che si desidera recuperare) e la testa è (progetto diverso acquistare si ottiene l'idea) ... duh, la capo.

Ho trovato il numero di changeset osservando lo history tab in the source code page. È l'ultimo.

Ho provato tutti i tipi di impostazioni con TortoiseGit ma non funzionava, riga di comando o busto.

Ora vai a fare una tazza di tè o cuoci una torta, ci vorrà un po 'di tempo.

Se (su Windows) si apre il monitor risorse e si cerca perl.exe sotto "rete" e vederlo sta parlando con svn.codeplex.com quindi funziona.