cocos2d-x icon indicating copy to clipboard operation
cocos2d-x copied to clipboard

Fail to clone submodules due to "the unauthenticated git protocol on port 9418 is no longer supported".

Open QuellaZhang opened this issue 3 years ago • 4 comments
trafficstars

When we cloned cocos2d-x repo today and found the following error:

F:\>git clone --recursive https://github.com/cocos2d/cocos2d-x F:\gitP\cocos2d\cocos2d-x Cloning into 'F:/gitP/cocos2d/cocos2d-x/tests/cpp-tests/Resources/ccs-res'... fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported. Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information. fatal: clone of 'git://github.com/dumganhar/ccs-res.git' into submodule path 'F:/gitP/cocos2d/cocos2d-x/tests/cpp-tests/Resources/ccs-res' failed Failed to clone 'tests/cpp-tests/Resources/ccs-res'. Retry scheduled Cloning into 'F:/gitP/cocos2d/cocos2d-x/tools/bindings-generator'... fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported. Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information. fatal: clone of 'git://github.com/cocos2d/bindings-generator.git' into submodule path 'F:/gitP/cocos2d/cocos2d-x/tools/bindings-generator' failed Failed to clone 'tools/bindings-generator'. Retry scheduled Cloning into 'F:/gitP/cocos2d/cocos2d-x/tools/cocos2d-console'... fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported. Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information. fatal: clone of 'git://github.com/cocos2d/cocos2d-console.git' into submodule path 'F:/gitP/cocos2d/cocos2d-x/tools/cocos2d-console' failed Failed to clone 'tools/cocos2d-console'. Retry scheduled Cloning into 'F:/gitP/cocos2d/cocos2d-x/tests/cpp-tests/Resources/ccs-res'... fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported. Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information. fatal: clone of 'git://github.com/dumganhar/ccs-res.git' into submodule path 'F:/gitP/cocos2d/cocos2d-x/tests/cpp-tests/Resources/ccs-res' failed Failed to clone 'tests/cpp-tests/Resources/ccs-res' a second time, aborting

QuellaZhang avatar Jan 11 '22 09:01 QuellaZhang

I see the failure. I tested and the following works:

git clone https://github.com/cocos2d/cocos2d-x
cd cocos2d-x/
git submodule update --init

slackmoehrle avatar Jan 12 '22 02:01 slackmoehrle

Hey, I actually faced this issue. It is said here that the protocol git:// is outdated. You may do this as a workaround:

  1. Replace urls in .gitmodules like this:
$git diff
...
 [submodule "tools/cocos2d-console"]
         path = tools/cocos2d-console
-        url = git://github.com/cocos2d/cocos2d-console.git
+        url = [email protected]:cocos2d/cocos2d-console.git
 [submodule "tools/bindings-generator"]
         path = tools/bindings-generator
-        url = git://github.com/cocos2d/bindings-generator.git
+        url = [email protected]:cocos2d/bindings-generator.git
 [submodule "tests/cpp-tests/Resources/ccs-res"]
         path = tests/cpp-tests/Resources/ccs-res
-        url = git://github.com/dumganhar/ccs-res.git
+        url = [email protected]:dumganhar/ccs-res.git
  1. Sync the new urls: $git submodule sync --recursive
  2. Now $git submodule update --init should work.

I don't know maybe they should update the submodule urls if it won't break something

Trother555 avatar Mar 17 '22 00:03 Trother555

Yes, the problem is back. I tried it and it works too, but it's better to fix it upstream, local patching is of no use to us.

diff --git a/.gitmodules b/.gitmodules
index b3bdfed93f..7cd9b05dd5 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,9 +1,9 @@
 [submodule "tools/cocos2d-console"]
         path = tools/cocos2d-console
-        url = git://github.com/cocos2d/cocos2d-console.git
+        url = https://github.com/cocos2d/cocos2d-console.git
 [submodule "tools/bindings-generator"]
         path = tools/bindings-generator
-        url = git://github.com/cocos2d/bindings-generator.git
+        url = https://github.com/cocos2d/bindings-generator.git
 [submodule "tests/cpp-tests/Resources/ccs-res"]
         path = tests/cpp-tests/Resources/ccs-res
-        url = git://github.com/dumganhar/ccs-res.git
+        url = https://github.com/dumganhar/ccs-res.git
\ No newline at end of file

https://github.blog/2021-09-01-improving-git-protocol-security-github/ We’re changing which keys are supported in SSH and removing unencrypted Git protocol. Only users connecting via SSH or git:// will be affected. If your Git remotes start with https://, nothing in this post will affect you. If you’re an SSH user, read on for the details and timeline.

QuellaZhang avatar Mar 17 '22 09:03 QuellaZhang