代码之家  ›  专栏  ›  技术社区  ›  Kapil Arya

git-svn和更新的svn-url

  •  2
  • Kapil Arya  · 技术社区  · 11 年前

    我使用git-svn来处理托管在sourceforge上的svn存储库。最近,我更新了sourceforge项目,这导致了svn存储库的更改。确切地说,现在可以使用svn+ssh访问新的svn存储库,而旧的存储库已被设置为只读。

    现在,在我的本地git-svn-clone目录中,我更新了.git/config,用新的url更新了以前的url。然而,当我执行git-svn-info或git-svn-rebase时,我会得到以下错误: 无法从工作树历史记录中确定上游SVN信息

    此外,我使用以下命令创建了一个新的git-svn克隆: git svn init-T trunk-T标记-b分支svn+ssh://USER@svn.code.sf.net/p/dmtcp/code dmtcp数字

    这个克隆运行良好,没有问题。但是,引用与旧克隆不同。

    为了使事情变得复杂,我在github上维护了一个git存储库,一旦更改提交到sourceforge-svn(出于历史原因),我就会在那里推送更改。这一切都用于以前的sourceforge svn url。但现在有了更新的存储库,refs变得一团糟,即它们与github上的存储库不匹配。

    当然,我可以做一个“git push-f”来更新裁判,但我想知道是否有人对修复裁判有任何想法。

    谢谢

    1 回复  |  直到 11 年前
        1
  •  1
  •   qqx    11 年前

    git svn 使用svn存储库的根URL不仅仅用于访问 该存储库。它还需要确定svn分支,并且(至少 默认情况下)URL将被包括在提交消息中。后一个原因是 为什么您的新克隆显示所有提交都不同。

    但是,您可以将其配置为继续使用其他URL 目的,同时使用新的URL实际访问存储库。你只是 需要添加 rewriteRoot 项目到您的svn远程部分 .git/config 文件,并将其设置为svn存储库的旧URL。那个 应该允许您继续从svn中提取更新。