Question

I'm trying to run git for my local repository and use SVN for my central repository to a CodePlex project. I downloaded the most recent version of msysgit, but the SVN support doesn't appear to be working.

The following successfully initializes a new empty repository and then gets stuck:

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

After attempting to perform the fetch, I get the following:

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

As you can see, I try to permanently accept the certificate, but msysgit just sits and never performs the fetch.

Am I doing something wrong? Is the support not there? I found a similar Stack Overflow post from December. I'm not sure if the symptoms I'm experiencing are the same, or not.

Was it helpful?

Solution 2

I'm not really sure why, but it takes a pretty long time to come back from the prompt above that asks whether or not to accept the certificate. After waiting about 15 minutes, the operation did complete.

OTHER TIPS

git-svn does not work well on windows in my experience. What I would advise is to put your git import on something like github or any other git hosting, and use "pure" git on windows. This assumes you have a unix (or at worse cygwin, which should work better than msysgit I guess) to do the git-svn updates. That's not ideal, obviously.

I got this working by adding the certificates to the auth-chain. You have to get the issuer-certificate (CA) of your server-certificate in .pem-format and copy it to the certs-directory (PATH_TO_GIT\ssl\certs) with a hashed name. Generate the hash like so:

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

Rename the CA-file to the output of the command and add ".0" as extension (e.g. 0dbd0096.0). This way openssl find the CA wich can be used to certify your server-certificate.

Find more information here: http://gagravarr.org/writing/openssl-certs/others.shtml#ca-openssl

Codeplex and SVN are as slow as they are archaic. Here is what worked for me (different project buy you get the idea)

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

where 42691 was the oldest changeset in the repo (or the oldest one you want to fetch) and HEAD is ...duh, the head.

I found the changeset number by looking at the history tab in the source code page. It's the last one.

I tried all sorts of settings with TortoiseGit but it wouldn't play, command line or bust.

Now go make a cup of tea or bake a cake, it will take quite some time.

If (on Windows) you open the Resource Monitor and look for perl.exe under "network" and see it is talking to svn.codeplex.com then it is working.

use http without ssl. I use fetch from sourceforge https://xmlvm.svn.sourceforge.net/svnroot/xmlvm/ encomes this issue,and I just change url to http://xmlvm.svn.sourceforge.net/svnroot/xmlvm/ It works fine

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top