2013-07-11 45 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

問題解決。