2009-08-06 24 views
13

Ich versuche, git für meine lokale Repository und SVN für meine zentrale Repository zu einem CodePlex-Projekt zu verwenden. Ich habe die neueste Version von msysgit heruntergeladen, aber die SVN-Unterstützung scheint nicht zu funktionieren.Git und SVN unter Windows

Die erfolgreich nach einem neuen leeren Repository initialisiert und dann klemmt:

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

Nach dem Versuch, die holen auszuführen, erhalte ich die folgende:

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

Wie Sie sehen können, ich versuche, um das Zertifikat dauerhaft zu akzeptieren, aber msysgit sitzt nur und führt den Abruf nie durch.

Mache ich etwas falsch? Ist die Unterstützung nicht da? Ich habe eine ähnliche Stack Overflow post von Dezember gefunden. Ich bin mir nicht sicher, ob die Symptome, die ich erfahre, gleich sind oder nicht.

+1

5 -1/2 Jahre später und ich bekomme immer noch diesen Fehler. Ich frage mich, wie viele OSS-Projekte tot sind, weil sie nicht geklont werden können? Ja, ich weiß, dass du den Zip runterladen kannst, aber wirklich, wirklich? –

Antwort

3

Ich bin mir nicht wirklich sicher, warum, aber es dauert ziemlich lange, bis ich von der obigen Meldung zurückkomme, die fragt, ob das Zertifikat akzeptiert werden soll oder nicht. Nach ungefähr 15 Minuten war die Operation abgeschlossen.

+0

Ich habe es die ganze Nacht laufen gelassen. Es war irgendwo dazwischen. Kein Glück, hier zu warten. Seltsamerweise ist die Quellcode-Seite für das Projekt, das ich ausprobiere, sehr langsam (es dauert bis zu 1 Minute, um die Seite zu laden). Außerdem weiß ich, dass der Projektautor tatsächlich TeamServer für das Backend verwendet. Hier ist das Projekt: https://v8dotnet.codeplex.com/. Mein Ziel ist es, es mit GitHub zu verbinden. Jede Hilfe wäre willkommen. –

+0

@SergiyByelozyorov Ja, diese Seite ist ziemlich durcheinander. Es begann für mich zu klonen, schaffte es aber nicht sehr weit. Ich würde die Betreuer oder jemanden auf CodePlex kontaktieren, um zu sehen, was los ist. Git-Svn wird nicht funktionieren, wenn der Back-End-Host Probleme hat. – senfo

+0

Öffnen Sie Windows Resource Monitor und sehen Sie sich den Netzwerkverkehr an. Perl.exe ist die ausführbare Datei git-svn. Wenn es Bytes gibt, dann könnte es nur funktionieren. Könnte sein. –

3

git-svn funktioniert nicht gut auf Windows in meiner Erfahrung. Was ich empfehlen würde ist, Ihren Git-Import auf etwas wie GitHub oder ein anderes Git-Hosting zu setzen und "reines" Git auf Windows zu verwenden. Dies setzt voraus, dass Sie ein Unix (oder schlimmer noch cygwin, das besser als msysgit funktionieren sollte) haben, um die git-svn Updates zu machen. Das ist natürlich nicht ideal.

+4

Ich bekomme die gleiche Antwort, indem ich git-svn auf Mac OS X 10.6.5 und Ubuntu 10.04 benutze und auf Codeplex-basierte SVN-Repositories zugreife. Das scheint also kein Windows-Problem zu sein. –

1

Ich habe das funktioniert durch Hinzufügen der Zertifikate zur Auth-Kette. Sie müssen das Aussteller-Zertifikat (CA) Ihres Server-Zertifikats im .pem-Format erhalten und es mit einem Hash-Namen in das certs-Verzeichnis (PATH_TO_GIT \ ssl \ certs) kopieren. Generieren des Hash etwa so:

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

Umbenennen der CA-Datei an die Ausgabe des Befehls und fügen“.0" als Erweiterung (z.B. 0dbd0096.0). Auf diese Weise finden Sie die Zertifizierungsstelle, mit der Sie Ihr Server-Zertifikat zertifizieren können.

Weitere Informationen finden Sie hier: http://gagravarr.org/writing/openssl-certs/others.shtml#ca-openssl

1

Codeplex und SVN sind so langsam wie sie archaisch sind. Hier ist, was für mich gearbeitet (verschiedene Projekt kaufen Sie wissen schon)

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

wo 42.691 der älteste changeset im Repo war (oder die älteste wollen Sie holen) und HEAD ist ... duh, die Kopf.

Ich fand die Changeset-Nummer durch Blick auf die history tab in the source code page. Es ist der Letzte.

Ich versuchte alle möglichen Einstellungen mit TortoiseGit, aber es würde nicht spielen, Befehlszeile oder Büste.

Jetzt machen Sie eine Tasse Tee oder backen Sie einen Kuchen, es wird einige Zeit dauern.

Wenn (unter Windows) öffnen Sie den Ressourcenmonitor und suchen Sie nach Perl.exe unter "network" und sehen, es ist mit svn.codeplex.com dann es funktioniert.