2013-07-11 44 views
0

我的问题是类似的,但是从这个一个不同: TortoiseSvn error : the same name as the administrative directorysvn签给我的树名为.svn文件夹会由于

我用git-svn作为客户,我有其中包含一个假.svn文件夹中的测试数据数据树。这svn得到dcommitt'ed。现在,当我尝试使用签一个svn co新的工作副本,我得到了错误:

svn: E155000: Failed to add directory '/MyRepo/TestData/Root/.svn': object of the same name as the administrative directory 

我试图删除该文件夹,并再次dcommitt'ed。但它没有帮助。

UPDATE

我想通一些东西。

我在哪里我使用(下只有一个文件)删除.svn文件夹中的特性分支:

git rm /MyRepo/TestData/Root/.svn/file 
git commit 

然后我切换回我的开发分支,合并的特性分支,终于在检查:

git checkout develop 
git merge --squash feature 
git commit 
git svn dcommit 

我很惊讶,但是,这并没有合并在.svn删除更改。 我再次检查了我的~/.gitignore~/.gitignore_global,回购的.gitignore。他们不包括.svn,实际上这应该是无关紧要的,因为我的检查一直在为.svn文件夹工作。

有人可以解释这里发生了什么?

更新2

似乎从我的开发分支git rm变化是重新检查仍不能解决问题。 svn co仍然在相同的地方发生同样的错误。

回答

4

我找到了原因和解决方案。

git的变化必须删除文件.svn/file。 git自动从本地git仓库中删除.svn文件夹。但文件夹是svn中的一流公民。所以在执行git svn dcommit时,.svn文件夹不会被删除。

我最后不得不做

svn del http://mysvnserver/MyRepo/TestData/Root/.svn -m "Remove .svn folder" 

单独删除该文件夹。之后我通常可以svn co

问题解决。