我正在尝试将我们的SVN存储库导入Git.当我运行此命令时:
git svn --authors-file=/path/to/authors --trunk=trunk clone https://my-repo/project .
Run Code Online (Sandbox Code Playgroud)
或者这个命令:
svn2git https://my-repo/project --no-minimize-url -v --authors /path/to/authors
Run Code Online (Sandbox Code Playgroud)
两者都返回此错误:
Author: patrick not defined in /path/to/authors file
Run Code Online (Sandbox Code Playgroud)
..但据我所知,我的作者文件没有错:
$ grep patrick /path/to/authors
patrick = Patrick <none@example.com>
Run Code Online (Sandbox Code Playgroud)
该错误直到达到修订版8700才会发生,所以它必须正确地抓取其他作者名称.
这可能会发生什么?谢谢.
Dan*_*mke 23
尝试在Windows上执行此操作时,我遇到了同样的问题.事实证明,我存储作者的文件的编码设置为UTF-8而不是没有BOM的UTF-8.由于"with BOM"版本在文件的开头添加了一些额外的字节,因此从未找到列表中的第一个作者.
我遇到过同样的问题。authors.txt的格式严格遵循form
svn name = user name ‹email›
Run Code Online (Sandbox Code Playgroud)
如:
cruise-control = Cruise Control ‹cruise-control@abc.com›
user1 = User1 Lastname1 ‹user1@abc.com›
user2 = User2 Lastname2 ‹user2@abc.com›
Run Code Online (Sandbox Code Playgroud)
例如,这种格式将不起作用:
user1 = user1@abc.com
Run Code Online (Sandbox Code Playgroud)
我遇到了同样的问题,但原因实际上却大不相同:我使用Powershell从SVN中转储作者列表,但我没有意识到它将结果保存为UTF-16文件。
原来git(至少对于Windows 2.16.1版为git)至少无法使用UTF-16文件。将文件转换为UTF-8对我有用。
有两个问题:
我通过为每个作者分配唯一的电子邮件地址解决了第一个问题。
此外,用户名是“patrick”。我不知道这是怎么发生的,但是通过使用 svnadmin 我能够将该昵称的所有实例更改为“patrick”。