2011-06-23 29 views
5

總之問題是,當我運行混帳SVN變基,我有一大堆的「創建空目錄:......」如何防止混帳SVN變基創建空目錄

在SVN一面,主幹,有一個名爲TOD(Trunk Only Dir)的目錄,裏面有很多文件。在另一個分支中,根本沒有這樣的目錄。

當我用git svn克隆這個svn倉庫時,master上的東西都沒事,但是在分支上,我得到了TOD目錄和相同的目錄結構,除了沒有文件。

如果我rm的TOD目錄(安全,因爲git不跟蹤目錄),並切換到主,並運行git svn rebase,我得到了「創建空的direcotry」消息,然後當我簽出分支時,TOD目錄回來。

總而言之,問題是,如何防止git svn在分支上創建空的TOD目錄?

+1

不設置'svn-remote。 .automkdirs'爲false和'svn.rmdir'爲真正的幫助? –

+0

對於想知道應該使用什麼值的人,可以通過檢查.git/config文件找到。有一個標籤爲[svn-remote「svn」]的部分,這意味着svn是您的遠程名稱,如果您沒有爲svn-remote指定其他名稱,這是默認名稱。 – axiopisty

回答

5

我相信@奔tebulin是正確的,即通過做

git config svn-remote.svn.automkdirs false 
git config svn.rmdir true 

應該做出正確的事情。不幸的是,我很快轉移到其他項目,並沒有機會驗證它。

在寫這篇文章的時候,我幾乎失去了我的svn-fu,做了一個測試並且無法重現問題,而且現在git-svn現在可以乾淨地在分支之間切換。

+0

如果您在運行這些命令之前和之後檢查.git/config文件的差異,您將會更好地瞭解這些命令正在執行的操作。您應該使用svn-remote的命令位於.git/config文件的[svn-remote「」]部分。默認的被設置爲「svn」,正如在這個答案中所演示的那樣。 – axiopisty