所以我决定使用svn2git工具,为了迁移仓库,我需要authors文件和rules文件,沿着仓库本身,我把这三个文件组合起来,放在一个目录下,我暂时称之为myRepository_test,我希望新的git仓库在迁移后也能在这里。
下面是我目前拥有的存储库结构:
- myRepository
-- myRepository.release
-- myRepository.mapping
-- myRepository.base
-- ..
我在这里总共有大约30个项目。
我在此分享我的文件,这些文件将用于:
作者Map文本:
egent = Emma Gent <emma.gent@someDomain.com>
gstar = Gabriel Star <gabriel.star@someDomain.com>
.
.
就目前而言,我只想尝试2个项目,所以:
我的存储库.规则:
create repository myRepository
end repository
# main history
match /trunk/myRepository/myRepository.release/
repository myRepository
branch master
end match
match /trunk/myRepository/myRepository.mapping/
repository myRepository
branch master
end match
# Ignore everything else
match /
end match
这使得最后的命令:
./svn-all-fast-export --identity-map authormap.txt --rules myRepository.rules --add-metadata http://address/svn/myRepository
其结束为:
Loading rules from: "myRepository.rules"
Loading rules from "myRepository.rules"
Could not read the rules file: myRepository.rules
Aborted (core dumped)
我不是很确定规则文件的内容,如果有人能帮助我就好了。
先谢了。
1条答案
按热度按时间6fe3ivhb1#
你得到的消息并不意味着语法是假的,语法看起来很好。它实际上无法找到或读取文件本身。你是否从你的
myRepository.rules
文件所在的目录调用svn-all-fast-export
。你是否以调用svn-all-fast-export
的用户身份对文件具有读取权限?关于rules文件的内容,我不认为它已经完全正确了。您将
myRepository.release
和myRepository.mapping
的内容存储到存储库的根目录中。如果这是您想要的,那也没关系。如果不是,您可能应该在match
块中使用prefix
规则,以便将内容添加到单独的子目录中。但是,无论如何,在您能够成功运行该工具之后,您将看到这一点。还有一点需要注意,
match
表达式是正则表达式,因此您可能希望转义.
并使用match /trunk/myRepository/myRepository\.release/
。或者如果您需要子目录
或
有关规则的详细信息,请访问https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git#How_rulesets_work