如何更改现有git-svn repo上的ignore-paths?

时间:2012-09-25 18:00:49

标签: git-svn

我有一个已经存在的git-svn repo,我的.config文件中有一个忽略路径,如下所示:

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

这很有效。

有人在我的git repo中添加了一个svn中的新项目。

如果我将ignore-paths更改为下面的内容并发出fetch或rebase,我永远不会看到Path2 / Proj4

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

在过去,我总是放弃并抨击我的git repo并重新创建它。还有更好的方法吗?

1 个答案:

答案 0 :(得分: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)

  

<强> 重置

     

fetch 的效果撤回到指定的修订版。   这允许您重新获取 SVN修订版。通常是   SVN修订版的内容永远不应更改并重置   不应该是必要的。但是,如果SVN权限发生变化,   或者如果更改了--ignore-paths选项, fetch 可能会失败   “找不到提交”(文件先前未显示)或   “校验和不匹配”(错过了修改)。如果问题   文件永远不能被忽略(使用--ignore-paths)唯一   修复仓库的方法是使用重置

     

只更改了rev_map和refs / remotes / git-svn(参见   有关详细信息,请参阅下面的FILES部分中的 $ GIT_DIR / svn / * \ * /。rev_map。* 。   使用 fetch 然后 git reset git rebase 关注重置   将本地分支移动到新树上。

相关问题