我想用subgit
2.0.2检查glassfish svn。
我添加了
ssh-rsa blabla user@host
在java.net的用户帐户设置中。密钥存储在~/.ssh/authorized_keys
和id_rsa.user@host.pub
下的本地。
我使用subgit
设置subgit configure --svn-url svn+ssh://javauser@svn.java.net/glassfish~svn /path/to/folder
并将/path/to/folder/config
更改为
[core]
repositoryformatversion = 0
filemode = true
bare = true
logallrefupdates = false
bigFileThreshold = 1m
[svn]
url = svn+ssh://javauser@svn.java.net/glassfish~svn
[auth "default"]
sshKeyFile = /home/user/.ssh/id_rsa.user@host.pub
由于subgit install /path/to/folder
, error: svn: E170001: Authentication required for 'javauser@svn+ssh://svn.java.net'
失败。
编辑1和3 :我希望使用svn+ssh
结帐,因为svn
和https
我正在
error: svn: E175002: PROPFIND of '/': 405 Method Not Allowed (https://svn.java.net)
或error: svn: E175002: PROPFIND of '/svn/glassfish~svn': 502 Proxy Error (https://svn.java.net)
在不同的时间段之后(有时候立即,有时候是几天之后(这是一次大规模的结账......),但我从未设法完全结账/克隆),http
我得到了重定位错误,因为服务器以这种方式强制执行https
。
编辑2:当我调用ssh javauser@svn.java.net
和ssh javauser@java.net
时,我收到了Permission denied (publickey).
,我不确定这是否属于预期,因为我猜我无法登录java.net服务器或密钥是否无法正常工作。
编辑3: java.net似乎允许所有REPORT
个请求(我对svn
不太熟悉,也许这是非常罕见的,依赖于某些扩展陷入错误配置的防火墙的底层协议 - 为什么它总是会在REPORT
个请求上超时?)即使使用svn
也无法结账。
答案 0 :(得分:0)
看起来subgit
没有使用您的SSH密钥进行授权。
我猜你必须为auth
配置指定svn
值,尽管可以假设它默认使用default
。请尝试以下方法:
[svn]
url = svn+ssh://javauser@svn.java.net/svn/glassfish~svn
auth = default
更新:我刚才意识到您使用的是错误的网址。它必须是:
svn.java.net/ svn / glassfish~svn
更新#2:
如果您不想为存储库做出贡献,则匿名结帐就足够了。请尝试以下配置:
[svn]
url = https://svn.java.net/svn/glassfish~svn
auth = default
[auth "default"]
我试过了,它开始了,但看起来需要很长时间才能完成。也许只有像GlassFish 4.0分支那样检查更具体的内容(将网址更改为https://svn.java.net/svn/glassfish~svn/branches/4.0/)会有所帮助。
如果这对你来说也不起作用,另一个选择就是用svn
签出存储库(就像它应该的那样)。以下内容应该有效(您需要一个svn
客户端):
svn checkout https://svn.java.net/svn/glassfish~svn /path/to/something
您还可以使用svn
对subgit
结帐进行本地导入。可以在SubGit Book for Local Mode。
另见: