git svn的author文件的格式是什么,特别是对于反斜杠或下划线等特殊字符?

时间:2010-01-29 02:43:26

标签: git git-svn codeplex

我正在尝试克隆Papercut, an smtp server emulator

我正在获取带有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 个答案:

答案 0 :(得分:25)

我讨厌做那个“那个人”,但我只是试一试,它对我来说很好。这是我使用的作者文件的副本:

RNO\_MCLWEB = Ronald McDonald <dude@example.com>
SND\krobertson_cp = Some Guy <someone@example.com>
但是,我确实使用了与these directions之后生成作者姓名的方法略有不同的方法。我的具体咒语是:

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

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

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

答案 1 :(得分:14)

我有同样的问题,但是用户apache。 在作者提交这样的行。

apache = Apache

apache = Apache <>

但是当我把它设置为

apache = Apache <noreply@something.com>

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

svn_user_name = JustNameInGit <obligatory@email.com>

每个领域都是强制性的!

答案 2 :(得分:3)

我使用以下内容帮助跳过包含“授权”等字样的消息

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

答案 3 :(得分:1)

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

您可以通过任何出色的文本编辑(例如notepad ++编码菜单)来完成此操作