Каков формат файла авторов для git svn, особенно для специальных символов, таких как обратная косая черта или подчеркивание?
Я пытаюсь клонировать Papercut, эмулятор smtp-сервера
Я получаю список авторов SVN с svn log -q https://papercut.svn.codeplex.com/svn | grep -e '^r'| awk 'BEGIN {FS="|"};{print $2}'|sort|uniq
, который дает мне
RNO\_MCLWEB
SND\krobertson_cp
Я создал файл authors.txt с форматом SVN_User = UserName <Email>
, но когда я запустил
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>
Ответы
Ответ 1
Я ненавижу быть "этим парнем", но я просто попробовал, и это сработало хорошо для меня. Здесь копия файла авторов, который я использовал:
RNO\_MCLWEB = Ronald McDonald <[email protected]>
SND\krobertson_cp = Some Guy <[email protected]>
Однако я использовал несколько иной метод, чем вы, чтобы генерировать имена авторов, следуя этим указаниям. Мое особое заклинание было:
$ svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /'
Я также использую Git 1.6.6.1 (сомневаюсь, что это имеет значение, но вы никогда не знаете).
Я заметил, что когда я использовал ваш конвейер для получения SVN-авторов, в результирующем файле были пробелы перед их именами SVN (т.е. в столбце 1 в каждой строке было пробел). Не знаю, имеет ли это значение или нет.
Ответ 2
У меня была такая же проблема, но с пользователем apache.
В файлах авторов есть строка, подобная этой.
apache = Apache
или
apache = Apache <>
Но когда я установил его в
apache = Apache <[email protected]>
Мой репо начал клонировать нормальный.
Убедитесь, что вы правильно указали все имена авторов и электронную почту, следуя формату
svn_user_name = JustNameInGit <[email protected]>
Каждое поле обязательно!
Ответ 3
Я использовал следующее, которое помогает пропускать сообщения со словами типа "авторизация" в них
svn log --xml | grep /author | sort -u | perl -pe 's/.>(.?)<./$1 = /' > users.txt