Can’t open /path/to/authors/file No such file or directory

在Centos下执行git svn fetchgit svn rebase命令,提示错误

git svn fetch
Can't open /path/to/authors/file No such file or directory

之前一直以为是SVN配置出了问题,后面查了很久才发现是Git缺少authors.txt的配置

有两种解决办法:

第一种:

  1. 检查Git仓库的根目录下(也就是你的Git仓库clone下来的地址)是否存在一个名为authors.txt文件
  2. 确保 authors.txt 文件中包含了 SVN 用户名到 Git 用户名和电子邮件地址的映射规则。例如:
# SVN 用户名到 Git 用户名和电子邮件地址的映射
svn_user1 = Git User <git_user1@example.com>
svn_user2 = Git User <git_user2@example.com>
# username = user@gmail.com
  1. 如果 authors.txt 文件存在,但 Git SVN 仍然无法找到它,请确保指定了正确的文件路径。可以使用 –authors-file 选项显式指定作者映射文件的路径。例如:
$ git svn fetch --authors-file=/path/to/authors.txt

这里的/path/to/authors.txt 就是刚才的authors.txt的绝对路径

第二种:

设置Git全局选项,使用以下命令:

$ git config --global svn.authorsfile /path/to/authors.txt

其中,/path/to/authors.txt 是作者映射文件的完整路径。

请注意,如果您在本地仓库或项目级别设置了 svn.authorsfile,则该设置将覆盖全局设置。

如果这些都设置好了,使用git svn fetch出现错误

user001 not defined in /var/lib/jenkins/workspace/authors.txt file

这个说明user001这个用户没有添加在authors.txt中,我们将user001按照以下方法添加到authors.txt中。

user001 = User001 <user001@example.com>

再次执行git svn fetch应该就不会出错了。