SVN到GIT迁移 - 未定义的作者,但这是



之前已经提出过类似的问题(如这样),但是答案并未为我解决。我的作者文件看起来像这样:

cmannett85 = cmannett85 <cmannett85@###>
cbamber85 = cmannett85 <cmannett85@###>
www-data = cmannett85 <cmannett85@###>

我得到的错误是

Author: cmannett85 not defined in users.txt file

此错误发生在大约第1500个提交中,另一个作者条目很好,因此条目的基本结构必须正确。我已经在SO围绕SVN用户名的中心已经看到的大多数问题都有一个空间/附加到它们的空间,但是正如您从粘贴的错误中可以看到的那样 - 没有其他白色空间。

我还认为可能是我为一个相同的用户名映射一个用户名,所以我更改了git用户名,但没有区别。我什至尝试在Windows和Unix格式之间进行切换线结束,但又没有更改。

我使用以下方式调用操作:

$ git svn clone https://subversion.assembla.com/svn/#### --authors-file=users.txt --no-metadata -s ####

我尝试删除--no-metadata arg,但没有区别。谁能看到我出了什么问题?

update

按照懒惰的bad的建议,我跑了:

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

,它返回以下内容:

<author>cbamber85</author>
<author>cmannett85</author>
<author>www-data</author>

只是偶然发现了这个问题,并通过从utf-8文件中编码的author.txt文件剥离字节订单标记来解决问题ASCII文件而不是UTF-8。

由于我的文件作为PowerShell输出开始在Windows上开始生命,因此更通用的答案是,简单的文本从来都不是简单的文本,这使Lazy Badger的答案变得最好,因为它避免了这些差异的纸张头痛。

我想我发现了问题和解决方案:

我的作者.txt被编码为 ucs2 Little Endian 将其转换为 ANSI 文件大小降至50%,并且起作用。

文件尺寸从70kb降至35kb,但我不认为这是解决方案。

我的作者.txt是由Windows Active Directory的PowerShell-Script创建的。

我还将线端从 cr lf 更改为 lf ,但您提到,也已经尝试过。因此,我认为这是一个编码问题。

我敢肯定 - 在克隆之前,请从纯Svn-data 中准备用户列表将是更防弹的方式

即:

svn log --xml URL | grep "author" | sort -u | ...strip xml-tags here...

我刚刚遇到了与此处描述的相同问题,事实证明,仅在记事本 中创建一个新的.txt文件(原始作者文件是由我找到的powerShell命令生成的在其他地方),然后将原始文件的内容复制到新的.txt文件中,然后fetch工作。

事实证明,原始文件被编码为UCS-2 Little Endian(如上所述),但UTF-8的默认编码可行。我不需要更改线结尾。

最新更新