使用TortoiseGit克隆SVN Trunk仅得到dump文件如何解决

问题根因
克隆后仅得到dump文件、未获取Trunk实际内容,通常由以下几类原因导致:
- 地址填写错误:克隆时填入的SVN路径没有指向实际Trunk目录,要么误粘贴了SVN服务端的dump导出直链,要么填到了仓库的dump备份存储路径,而非版本库的可访问目录地址
- 权限校验失败:当前使用的SVN账号没有Trunk目录的读取权限,服务端拦截请求后返回了异常dump格式响应,TortoiseGit未做前置权限校验,直接把返回内容存为了本地文件
- 地址协议/参数错误:填写地址时用错了协议头(比如把svn/http协议的版本库地址填成了浏览器端的文件下载链接),或者地址末尾带了
?op=dump、?format=raw这类触发服务端导出dump的参数,直接拉取到了仓库备份包 - 本地组件异常:使用了精简版、绿色版TortoiseGit,安装时未勾选git-svn依赖组件,或者组件版本不匹配,无法正常解析SVN返回的版本目录结构,异常生成dump文件
修复步骤
按以下顺序逐一排查即可解决:
- 验证SVN地址有效性
单独用SVN客户端(TortoiseSVN或者svn命令行)测试目标Trunk地址,确认能正常浏览、拉取目录下的文件,不要直接复制浏览器打开仓库页面时带参数的临时下载链接,标准Trunk地址格式一般为svn://你的仓库域名/项目名/trunk或https://你的仓库域名/svn/项目名/trunk - 确认账号权限
用当前账号在SVN客户端做一次Trunk目录的小范围检出测试,确认有完整读取权限、未被服务端拦截后,再回到TortoiseGit执行操作 - 核对克隆配置
打开TortoiseGit的「从SVN克隆」设置页,确认Trunk路径栏填入的地址和之前测试可正常访问的地址完全一致,展开高级设置选项,确认没有勾选「拉取仓库dump」这类调试类选项(旧版本TortoiseGit隐藏了该选项,误勾选就会直接拉取dump包) - 修复本地安装环境
上述配置都没问题的话,卸载当前的TortoiseGit,下载官方完整安装包重新安装,安装时确认勾选git-svn集成组件,安装完成后重启电脑再重新执行克隆 - 临时替代方案
如果git-svn功能始终异常,可以先用TortoiseSVN把Trunk内容完整检出到本地,再在本地目录执行git init初始化Git仓库,手动配置SVN关联即可,无需硬卡TortoiseGit的克隆流程。
内容的提问来源于stack exchange,提问作者gagan
相关产品推荐
相关产品推荐

