我可以从使用--no-metadata创建的SVN git clone做'git svn dcommit'吗?

时间:2009-10-16 12:48:13

标签: svn git clone

我使用

将SVN存储库转换为git
git svn clone --stdlayout --authors-file=authors.txt --no-metadata svn://svn.foo.com

出于某种原因,这给了我一个看似裸露的存储库的东西。只有一个.git 目录。在这个克隆的存储库中,我想要一个结账。由于git checkout不起作用,我跑了

git reset --hard

这是正确的方法吗?它似乎工作,但听起来很吓人。然后我试图运行

git svn rebase

以便将Subversion存储库的最新更改提取到我的git clone中。但是,这不起作用。相反,它会产生消息

  

无法确定工作树历史记录中的上游SVN信息

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:3)

相信这是因为我将--no-metadata传递给了git svn clone。这就是git-svn(1)手册页中关于“无元数据”选项的说明:

  

这会在每次提交结束时删除git-svn-id:行。

     

如果你丢失.git / svn / git-svn / .rev_db文件,git svn将无法重建它,你也无法再次获取。这适用于一次性进口。

我没有那样读过,但显然使用--no-metadata使得git svn不生成git-svn/.rev_db文件。我确实有一个.git/svn子目录,但在{。}}下面没有git-svn