1

我有以下问题 - 我正在开发一个基于 SVN 存储库的 Git 存储库。我使用git svn clone path-to-repo命令克隆了 SVN 存储库,因此我的 Git 保留了相同的历史记录并具有共同的基础。克隆后,我使用git remote add origin path-to-my-git-repo. 然后,我应用了更多提交并将其仅推送到 Git 存储库(因此,显然他们没有git-svn-id从 SVN 克隆的提交)。SVN 存储库不会在我每次进行更改时立即更新(相反,它会在每个给定的时间段更新),但我必须保持它与我的项目的连接,所以我可以用其他人的更改来重新调整我的 Git 存储库仅提交到 SVN 存储库。

一切看起来都很棒,我克隆了 SVN 存储库,添加了一个 Git 远程存储库,我能够进行更改、变基,并且当我需要时,我可以将更改推送到 Git 或 SVN 存储库。

问题是,我需要在多个位置克隆项目。当我克隆 Git 之一 ( git clone path-to-repo target-directory) 并使用命令添加 SVN 远程存储库git svn init path-to-svn-repo --trunk="/"时,我无法使用 SVN 存储库中的新更改重新设置我的项目。它似乎正在连接,因为它要求输入用户名和密码,但给出“无法从工作树历史记录中确定上游 SVN 信息”错误。顺便说一句,--trunk="./"这不是一个错误 - SVN 存储库不遵循具有分支、标签和主干的约定,而是代码直接位于基本目录中(或者至少在看到使用git svn clone- 文件克隆后看起来像这样直接在目标目录中)。

克隆 SVN 存储库以使其工作并在每次克隆项目时手动从 Git 添加提交不是一种选择。

我在这里做错了什么?我将不胜感激任何帮助或提示。

4

1 回答 1

1

我真傻。事实证明,为了做 a git svn rebase,有必要先做 a git svn fetch

于 2013-09-01T22:44:50.237 回答