2011-06-04 74 views
3

我有一個公開託管的svn倉庫在谷歌代碼,但本地我切換到git由於各種原因。我目前是唯一能夠訪問googlecode回購的開發人員,因此不需要進行提取。所有提交通過開發分支,到主分支到svn,與git svn dcommit。一切安好。現在我處於使用git進行版本控制的本地文件的情況,但我並不希望它們公開可用。git知道,但(遠程)svn忽略

所以我有一個想法:我創建一個私人目錄,並添加一個svn:ignore「private/*」屬性到我的svn回購。但之後比

git svn dcommmit 

我得到一個錯誤:在提交過程中合併衝突:文件或目錄'。'已過期;嘗試更新:資源過時;嘗試在/ usr/local/git/libexec/git-core/git-svn行更新574

我試過將svn:ignore屬性導入到.git/info/exclude中,但排除了所有'私人'從git這絕對不是我想要的。

[2011年8月6日]

我認爲錯誤是因爲SVN不:不理,似乎混帳SVN完全忽略了svn:忽略,但由於其他一些未知的原因。現在的問題就變成了:是否有可能從git svn dcommit以同樣的方式排除路徑,就可以排除與--ignore路徑從git svn fetch路徑

+0

嘗試拉和合並,因爲你添加該屬性? – damianb 2011-06-04 16:01:19

+0

沒有做:git svn rebase/git svn fetch,不確定pull是如何與git-svn一起工作的? – 2011-06-04 17:41:31

+0

我的意思是抓取,抱歉。在黑暗中拍攝一個鏡頭,看看是否有一個簡單的出路,看起來這是一個git pro。這是一個很好的問題,所以+1。 – damianb 2011-06-04 17:42:56

回答

0

git-svn man頁面表明這是可能與以下配置項:

svn-remote.<name>.ignore-paths 
+0

謝謝你的回答,我想我在我的追求期間也看到了這個標誌。當時我把它看作單向塊:從svn - > git。 '這允許指定一個Perl正則表達式,這會導致從CHECKOUT FROM SVN跳過所有匹配路徑。 --ignore-paths選項應該匹配每個提取(包括由於克隆,dcommit,rebase等自動提取)給定的存儲庫。「 我再次閱讀它,並且我仍然堅持我原來的信仰,但是英語不是我的母語,一般來說,我傾向於誤讀手冊頁(尤其是git的) – 2011-08-18 19:33:10

1

git-svn忽略svn:忽略,但SmartGit不使用SmartGit檢出存儲庫。它將其轉換爲相應的.gitignore文件,反之亦然。 所以我建議你使用SmartGit而不是git-svn。

+0

感謝您的提示我會給smartgit一個嘗試.. – 2012-05-13 08:03:44