【问题标题】:Why is git-svn is randomly changing my root directory to the parent? [duplicate]为什么 git-svn 随机将我的根目录更改为父目录? [复制]
【发布时间】:2010-09-20 23:09:41
【问题描述】:

我正在尝试git-svn 在私有 shadowcat svn 服务器上工作。

git svn clone -s http://dev.catalystframework.org/repos/Catalyst/Catalyst-Plugin-ConfigLoader/
Initialized empty Git repository in /home/ecarroll/code/perl/foo/Catalyst-Plugin-ConfigLoader/.git/
Using higher level of URL: http://dev.catalystframework.org/repos/Catalyst/Catalyst-Plugin-ConfigLoader => http://dev.catalystframework.org/repos/Catalyst

什么不工作?看起来http://dev.catalystframework.org/repos/Catalyst/Catalyst-Plugin-ConfigLoader/ 具有标准布局。

有没有一种简单的方法可以让 git 从 svn 存储库中提取?

【问题讨论】:

  • 对我来说很好(Git 1.7)。您是否提供了命令的完整输出?

标签: svn git git-svn


【解决方案1】:

Catalyst-Plugin-ConfigLoader 项目已迁移到 Git,我现在回答有点晚了,但如果有人在不同的 svn 项目中遇到类似问题,我会回答。

git svn 尝试通过搜索 svn 存储库的根目录并使用它而不是您提供的 URL 来提供帮助。我觉得这很烦人,但幸运的是有一个解决方法:使用--no-minimize-url 选项。

来自git svn 文档 (git help svn):

--no-minimize-url

当跟踪多个目录(使用--stdlayout--branches--tags 选项)时,git svn 将尝试连接到 Subversion 存储库的根目录(或允许的最高级别)。如果整个项目在存储库中移动,此默认设置允许更好地跟踪历史记录,但可能会导致存在读取访问限制的存储库出现问题。传递 --no-minimize-url 将允许 git svn 按原样接受 URL,而无需尝试连接到更高级别的目录。当仅跟踪一个 URL/分支时,此选项默认关闭(效果不大)。

【讨论】:

    【解决方案2】:

    我遇到了类似的问题并使用了 --no-minimize-url 选项。这使克隆成功,但缺少一半的标签。事实证明,禁止克隆升级意味着它无法看到之前发生的 repo 重命名。一旦我删除了 --no-minimize-url 选项,丢失的标签就会出现。

    【讨论】:

      猜你喜欢
      • 2017-09-20
      • 2014-02-03
      • 2010-11-16
      • 2011-08-24
      • 2015-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-07
      相关资源
      最近更新 更多