因此,我决定在一个可靠的建议之后使用svn2git工具。为了迁移存储库,我需要作者文件和规则文件以及存储库本身。我组成了这三个目录,并将它们放在一个目录下,我暂时称之为myRepository_test。我希望迁移之后我的新的git存储库会出现在这里。
下面是我目前拥有的存储库结构:
- myRepository
-- myRepository.release
-- myRepository.mapping
-- myRepository.base
-- ..我在这里总共有大约30个项目。
在此,我将分享我的文件,这些文件将被使用:
authormap.txt:
egent = Emma Gent <emma.gent@someDomain.com>
gstar = Gabriel Star <gabriel.star@someDomain.com>
.
.目前,我只想尝试两个项目,所以:
myRepository.rules:
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)我不太确定规则文件的内容,如果有人能在这方面帮助我,那就太好了。
提前谢谢。
发布于 2016-05-09 14:19:06
您得到的消息并不意味着语法是假的,语法看起来很好。它实际上无法找到或读取文件本身。您是否从svn-all-fast-export文件所在的目录调用myRepository.rules。您是否以用户身份读取文件的权限,即调用svn-all-fast-export的用户身份
关于规则文件的内容,我不认为它是完全正确的。将myRepository.release和myRepository.mapping的内容存储在存储库的根目录中。如果这是你想要的,那就好了。如果没有,您可能应该在prefix块中使用一个match规则,以便将内容添加到单独的子目录中。但是,在您能够成功地运行该工具之后,您将看到这一点。
还有一个注意,match表达式是正则表达式,因此您可能想要转义.并拥有match /trunk/myRepository/myRepository\.release/。或者如果您真的希望将内容放在同一个文件夹中,甚至
match /trunk/myRepository/myRepository\.(release|mapping)/
repository myRepository
branch master
end match或者如果你想要潜艇
match /trunk/myRepository/myRepository\.(release|mapping)/
repository myRepository
branch master
prefix \1
end match或
match /trunk/myRepository/(myRepository\.(release|mapping))/
repository myRepository
branch master
prefix \1
end matchhttps://stackoverflow.com/questions/37117624
复制相似问题