2012-09-25 126 views
6

我有我的config文件,看起來像這樣的忽略路徑的已經存在的git-svn的:如何更改現有git-svn回購中的忽略路徑?

ignore-paths = ^(?!(Path1/Proj1|Path1/Proj2|Path2/Proj3)) 

這種運作良好。

有人在svn中添加了一個新的項目,我現在需要在我的git倉庫中。

如果我改變忽略路徑,以什麼下面,併發出讀取或重訂,我從來沒有看到路徑2/Proj4

ignore-paths = ^(?!(Path1/Proj1|Path1/Proj2|Path2/Proj3|Path2/Proj4)) 

在過去,我總是放棄和抨擊了我的混帳回購協議並重新創建它。有沒有更好的辦法?

+0

您可以手動編輯'.git/config'。我讀過使用普通的'git config'命令不適用於很多svn屬性。 –

+0

編輯.git/config不會爲我做(使用include路徑) – unhammer

回答

2

編輯需要

忽略路徑
git svn reset -r <n> -p # where <n> is the SVN revision where the new path was added. 
git svn fetch 
git rebase # or reset 

參考git-svn(1)後:

重置

撤消的影響取回指定修訂。 這使您可以重新獲取的SVN修訂版。通常,SVN修訂版的 內容不應更改,並且重置 應該不是必需的。但是,如果SVN權限更改,或者如果您更改了--ignore-paths選項,則提取可能會失敗 ,其中「未找到提交」(文件先前不可見)或 「校驗和不匹配」(未修改)。如果問題 永遠不能被忽略(使用--ignore-paths)唯一 修復repo的方法是使用重置

只有rev_map參/遙控器/混帳SVN被改變(見 $ GIT_DIR/SVN/* \ * /。rev_map。*在下面的FILES部分的詳細)。 按照重置然後混帳重置git的變基到 舉動地方分支機構到新樹。