Git子模块不从git-svn存储库更新

时间:2011-09-02 11:56:04

标签: git git-svn git-submodules

我有一个包含git子模块的projectx

/projectx/foo/bar/submodule

子模块库本身就是一个跟踪svn存储库的git-svn存储库。

在独立的子模块仓库中,我引入了一些新的更新:

git svn fetch

我看到了一些修改。所以我跑了:

git svn rebase master

当我打电话时:

git status

一切都很好看。所以在我的projectx的根目录中,我运行:

git submodule update

没有任何反应。我究竟做错了什么?我肯定跑了:

git submodule add
git submodule init

在子模块上,当我运行时:

git submodule status

我看到哈希的状态。

那么为什么git submodule update不会导致任何更新?

1 个答案:

答案 0 :(得分:3)

不幸的是,git submodule update会导致git fetch在子模块中运行而不是git svn fetch。最简单的解决方案是将您的git-svn克隆的subversion存储库保留在其他地方,然后将存储库添加为子模块。这就是这个类似问题的建议:

大概如果你想让其他人使用你的存储库,那就是你想要做的事情,因为.gitmodules只能指向一个git存储库,而不是一个SVN存储库。

当然,没有什么能阻止你在子模块目录中手动运行git svn rebase,然后在超级模块中添加和提交你喜欢的任何版本。但是,.gitmodules中的URL需要指向该存储库或其克隆。