16

SMTPサーバーエミュレーターであるPapercutのクローンを作成しようとしています

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

私は「あの男」になるのは嫌いですが、試してみただけでうまくいきました。これが私が使用したauthorsファイルのコピーです:

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 = /'

私もGit1.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++ Encoding メニュー)。

于 2019-09-11T15:58:02.170 に答える