KDE svn2git规则-定义多个文件夹
我的SVN结构如下:KDE svn2git规则-定义多个文件夹,git,svn,migration,kde,svn2git,Git,Svn,Migration,Kde,Svn2git,我的SVN结构如下: - Project A - Folder 1 - Folder a - Folder b - Folder 1 - trunk - tags ... - Folder n - trunk - tags - Folder 2 - Folder 3 - Project B 在为svn2git编写KDE匹配规则方面,是否正确: create r
- Project A
- Folder 1
- Folder a
- Folder b
- Folder 1
- trunk
- tags
...
- Folder n
- trunk
- tags
- Folder 2
- Folder 3
- Project B
在为svn2git编写KDE匹配规则方面,是否正确:
create repository repo
end repository
match Project A/Folder 1/Folder b/([^/]+)/trunk/([^/]+)/
repository repo/Project A/Folder b/([^/]+)
branch master
end match
# Add a prefix to all tag branches so we can fix them later.
match Project A/Folder 1/Folder b/([^/]+)/tags/([^/]+)/
repository repo/Project A/Folder b/([^/]+)
branch tag--\1
end match
# Ignore all other directories.
match /
end match
另外,我必须事先在Git repo中创建所有文件夹,还是svn2git会为我创建这些文件夹?
svn2git
会为您创建目录,但您必须在规则文件中明确定义存储库。如果您引用的存储库是注释定义的(例如,因为match regex匹配了您没有创建的内容),那么迁移将停止并显示错误消息
虽然你的规则不正确,但我认为应该是这样的
create repository repo
end repository
match /(Project A/Folder 1/Folder b/[^/]+/)trunk/
repository repo
prefix \1
branch master
end match
match /(Project A/Folder 1/Folder b/[^/]+/)tags/([^/]+)/
repository repo
prefix \1
branch refs/tags/\2
end match
# Ignore all other directories.
match /
end match
不,您的规则不正确,我可以给您更正的版本,但我需要一些更多的信息。1.文件夹,特别是
文件夹b
和主干之间的文件夹n
是否在名称中有空格?2.您希望每个文件夹n
都有一个Git repo,还是带有路径前缀的多功能Git repo.3.为什么您要将标记作为分支前缀,而不是直接创建正确命名的标记?如果在单独的存储库中,它们应该位于您直接执行svn2git
的第一级还是在repo/Project A/Folder b/
中?我根据我的问题的假设答案添加了一个答案。1.一些文件夹rs在每个级别都有空格,包括文件夹ns中的一些空格。2.最终结果,我想要一个Git repo,里面有许多文件夹,当然在这些文件夹中会有子文件夹。3.我实际上想在Git中创建适当的标记。我只包含这样的规则,因为我在网上看到了一个示例,我确实看到了我不明白规则。s//
是什么意思?我的SVN repo的结构是:-顶层有许多文件夹和几个文件-每个文件夹都有许多子文件夹和下一层的文件,依此类推。-有些文件夹和文件的名称中有空格。-有些文件夹中有一个主干和标记文件夹,有些没有d有些只是有trunk或tags文件夹。这不是我自己的个人回购协议,而是一个非常混乱的公司回购协议。相信我,它不会像我目前正在处理的那个一样混乱,如果你做得对,规则足以解决混乱问题。:-DIf如果我正确理解你的答案,更新的规则应该可以。空格只是存储库名称中的一个“问题”,因为svn2git
目前不支持空格。因此,替换规则将空格替换为下划线。感谢更新的规则,我慢慢地了解了它们。前缀规则做了什么?那么在第一条规则中,prefix\1
是否对应于“项目a”?此外,我的SVN存储库没有任何明确的“分支”文件夹。这是否意味着我不需要第二条规则来匹配分支?