【问题标题】:git-svn and updated svn urlgit-svn 和更新的 svn url
【发布时间】:2013-03-05 01:27:14
【问题描述】:

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

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

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

这个克隆工作正常,没有问题。但是,参考与旧克隆不同。

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

当然,我可以执行“git push -f”来更新参考,但想知道是否有人对修复参考有任何想法/想法。

谢谢!

【问题讨论】:

    标签: git svn github git-svn sourceforge


    【解决方案1】:

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

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

    【讨论】:

    • 我确实读过关于 rewriteRoot 的文章,但没有足够注意了解它的用途。感谢您的解释!! (一旦我获得足够的声誉,我会“投票”你的答案:-))
    猜你喜欢
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多