2012-09-25 76 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的变基到 举动地方分支机构到新树。