git - 如何克隆本地 svn 存储库?
Posted
技术标签:
【中文标题】git - 如何克隆本地 svn 存储库?【英文标题】:git - how can I clone local svn repository? 【发布时间】:2013-02-28 17:46:48 【问题描述】:我完全找不到任何解释我应该如何指定现有 svn 存储库的位置。
换句话说 - 在
中应该使用什么作为 URLgit svn clone URL
什么时候svn仓库是本地的?
【问题讨论】:
【参考方案1】:你应该可以这样成功:
git svn clone file:///e/svn_repo_on_E_drive
类似于 svn checkout 命令:
svn co file:///e/svn_repo_on_E_drive
file://
用于执行 CMD 提示的当前驱动器上的文件夹,file:///d/some_folder
用于D:\some_folder
。
注意:Windows 上文件链接中多余的/
和删除的冒号:
。 file://e:/svn_repo_on_E_drive
→ file:///e/svn_repo_on_E_drive
【讨论】:
我在使用这种方法时遇到了问题,直到我从文件 URL 上的驱动器中删除了冒号 (:)。通常,在 Windows 中,您会看到这个 file:///e:/svn_repo_on_E_drive ,但对于 git,您需要从驱动器中删除“:”,留下 file:///e/svn_repo_on_E_drive 谢谢@kurast,我会让答案更明显以删除它。 对我来说,它不适用于 /// 和其他东西的任何组合:无法创建会话:无法连接到 URL 'file://d/temp/xxxx' 的存储库: 本地 URL 'file://d/temp/xxxx' 在 /mingw64/share/perl5/site_perl/Git/SVN.pm 第 144 行包含不受支持的主机名。 使用 3 /// 我得到的结果略有不同: $ git svn clone file:///d/temp/xxxx/ 在 D:/yyyy.lt/git/xxxx/ 中初始化空的 Git 存储库.git/ 无法创建会话:无法连接到 URL 'file:///d/temp/xxxx' 的存储库:无法在 /mingw64/ 打开存储库 'file:///d/temp/xxxx' share/perl5/site_perl/Git/SVN.pm 第 144 行。 您的回复保存了我要转储的旧仓库。无法在其他任何地方找到:file://e:/svn_repo_on_E_drive → file:///e/svn_repo_on_E_drive【参考方案2】:对于本地存储库,您使用file://
URL,与用于执行操作的相同
使用普通的 svn 客户端结帐。
如果您尝试复制整个历史记录,并使用git svn clone
--stdlayout
,只需使用您将用于通过 svn 检出主干的 URL
减去末尾的/trunk
部分。
【讨论】:
所以 file:///X:/path/to/repos 应该可以工作吗?很奇怪,因为它失败了“无法打开存储库:无法打开到 URL 的 ra_local 会话:无法打开存储库”file://
URL 对我有用。不知道驱动器说明符部分,我不使用 Windows。
从您上次的评论中,我想您使用的是 Windows。尝试删除第三个“/”。也许它不起作用,因为有一个错误:code.google.com/p/tortoisegit/issues/detail?id=1402
您需要从驱动器号中删除冒号 ( : )。因此,您需要使用 file:///X/path/to/repos 而不是 file:///X:/path/to/repos以上是关于git - 如何克隆本地 svn 存储库?的主要内容,如果未能解决你的问题,请参考以下文章