What is the format of an authors file for git svn, specifically for special characters like backslash or underscore?

29,066

Solution 1

I hate to be "that guy", but I just gave it a try and it worked fine for me. Here's the copy of the authors file I used:

RNO\_MCLWEB = Ronald McDonald <[email protected]>
SND\krobertson_cp = Some Guy <[email protected]>

I did, however, use a slightly different method than you did to generate author names, following these directions. My specific incantation was:

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

I'm also using Git 1.6.6.1 (doubt that makes a difference, but you never know).

I did notice that when I used your pipeline to get the SVN authors, there were spaces in front of their SVN usernames in the resulting file (i.e., there was a space in column 1 on each line). Don't know if that makes a difference or not.

Solution 2

I had same problem, but with user apache. In authors file a had line like this.

apache = Apache

or

apache = Apache <>

But when I set it to

apache = Apache <[email protected]>

My repo started cloned normaly. Please be sure that you set all you authors names and email correctly, with follow format

svn_user_name = JustNameInGit <[email protected]>

Every field is obligatory!!!

Solution 3

I used the following which helps skip messages with words like 'authorization' in them

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

Solution 4

I had this issue, it turned out to be the file encoding in my example. Make sure the text file is saved at UTF-8

You can do this in any good text edit (eg notepad++ Encoding menu)

Share:
29,066
anonym0us
Author by

anonym0us

Updated on July 20, 2022

Comments

  • anonym0us
    anonym0us almost 2 years

    I am trying to clone Papercut, an smtp server emulator

    I'm getting the list of SVN authors with svn log -q https://papercut.svn.codeplex.com/svn | grep -e '^r'| awk 'BEGIN {FS="|"};{print $2}'|sort|uniq which is giving me

    RNO\_MCLWEB
    SND\krobertson_cp
    

    I created an authors.txt with the SVN_User = UserName <Email> format, but when I run

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

    it complains "Author: RNO\_MCLWEB not defined in authors.txt file"

    I've tried with putting a \ before the '\' and '_' to try to escape them, and adding quotes around the name, but neither worked.

    I can't find any better description of the authors.txt file format than SVN_User = UserName <Email>

  • anonym0us
    anonym0us about 14 years
    The first time I made the authors.txt, I didn't put a string like [email protected] for the email, just <MCLWEB> I guess that was the problem, since an authors.txt with the text you showed did clone without a problem (git 1.6.5.1). I thought I had tried with proper email addresses, but apparently not. Anyway, thanks.
  • eykanal
    eykanal over 11 years
    See this question for a similar discussion.
  • CoffeeMonster
    CoffeeMonster almost 11 years
    Regex is incorrect - it needs to match more than 1 char. Fixed: 's/.*>(.*?)<.*/$1 = /'
  • vmrob
    vmrob almost 10 years
    Noting that every field is obligatory helped me. The link from eykanal implies that it isn't which seems to be true in the case he linked, not during an SVN import.
  • oryan_dunn
    oryan_dunn over 4 years
    This solved it for me as well. The file was originally generated by the atlassian svn migration script from within powershell on windows 10, and it was UTF-16. I saved as UTF-8 and it worked.