首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用svn2git排除某些分支?

如何使用svn2git排除某些分支?
EN

Stack Overflow用户
提问于 2015-05-28 13:59:27
回答 2查看 1.5K关注 0票数 1

我在Windows上运行svn2git,并希望从迁移过程中排除一些分支。这是如何实现的?

EN

回答 2

Stack Overflow用户

发布于 2015-10-29 17:07:23

svn2git从提供给它的--ignore-paths参数的排除标记生成一个正则表达式。

不幸的是,此regexp包含DOS保留字符-如| etc -这些字符没有转义。

我首先尝试使用生成的regexp生成一个正确转义的regexp,以生成我自己的--ignore-paths参数,但是DOS的保留字符/转义系统是一个真正的噩梦。

Solution ->使用Linux发行版或在windows系统上安装cygwin:

  • Install cygwin,with ruby packages
  • gem install svn2git
  • cd cygwin -s cygwin

现在,您可以根据需要使用任意多的--排除参数来运行svn2git!

票数 1
EN

Stack Overflow用户

发布于 2019-04-08 18:43:05

正如cdup建议的那样,如果你能让它在Git for Windows自带的Git bash窗口中运行,你可能会避免很多问题。

但是,如果您愿意,可以直接在您的计算机上修改svn2git源代码来解决此问题。出现该问题的原因是,svn2git在传递给git svn的参数两边使用了单引号',而不是双引号"。下面描述的修复也适用于Windows命令提示符上下文中的other areas of svn2git

无论如何,打开<ruby install path>\lib\ruby\gems\<version>\gems\svn2git-<version>\lib\svn2git下的migration.rb并查找下面这一行:

代码语言:javascript
复制
cmd += "--ignore-paths='#{regex}' "

将其替换为(请注意,'已被转义的双引号\"替换):

代码语言:javascript
复制
cmd += "--ignore-paths=\"#{regex}\" "

保存更改并重新运行svn2git。您的排除模式现在应该有效了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30498339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档