16

我正在尝试克隆Papercut,一个 smtp 服务器模拟器

我正在获取svn log -q https://papercut.svn.codeplex.com/svn | grep -e '^r'| awk 'BEGIN {FS="|"};{print $2}'|sort|uniq给我的 SVN 作者列表

RNO\_MCLWEB
SND\krobertson_cp

我创建了一个带有SVN_User = UserName <Email>格式的 authors.txt,但是当我运行时

git svn clone --no-metadata -A authors.txt https://papercut.svn.codeplex.com/svn papercut

它抱怨“作者:RNO\_MCLWEB 未在 authors.txt 文件中定义”

我尝试在 '\' 和 '_' 之前放置一个 \ 来尝试转义它们,并在名称周围添加引号,但都没有奏效。

我找不到比 authors.txt 文件格式更好的描述了SVN_User = UserName <Email>

4

4 回答 4

26

我讨厌成为“那个人”,但我只是试了一下,对我来说效果很好。这是我使用的作者文件的副本:

RNO\_MCLWEB = Ronald McDonald <dude@example.com>
SND\krobertson_cp = Some Guy <someone@example.com>

但是,我确实使用了一种与您生成作者姓名略有不同的方法,遵循这些说明。我的具体咒语是:

$ svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /'

我也在使用 Git 1.6.6.1(怀疑会有所不同,但你永远不知道)。

我确实注意到,当我使用您的管道获取 SVN 作者时,结果文件中他们的 SVN 用户名前面有空格(即,每行的第 1 列中有一个空格)。不知道这是否有所作为。

于 2010-01-29T03:11:09.887 回答
16

我有同样的问题,但使用用户 apache。在作者文件中有这样的一行。

apache = Apache

或者

apache = Apache <>

但是当我将它设置为

apache = Apache <noreply@something.com>

我的回购开始正常克隆。请确保您正确设置所有作者姓名和电子邮件,格式如下

svn_user_name = JustNameInGit <obligatory@email.com>

每个字段都是必填项!!!

于 2012-01-24T18:36:37.450 回答
3

我使用了以下内容来帮助跳过带有“授权”之类的消息

svn log --xml | grep /author | sort -u | perl -pe 's/.>(.?)<./$1 = /' > users.txt
于 2013-05-07T20:26:20.780 回答
2

我遇到了这个问题,原来是我的示例中的文件编码。确保文本文件以 UTF-8 保存

您可以在任何好的文本编辑中执行此操作(例如 notepad++ 编码菜单)

于 2019-09-11T15:58:02.170 回答