2009-07-31 12 views
4

Eclipseで変更をコミットすると、svnはEclipse(Alok)で変更をコミットしたときに私が入力したものとして著者名を記録します。著者名では、「svn log」または「svn blame」を実行すると表示される名前を意味します。svn + sshを使用したときのSVNユーザー名(Eclipseの作成者名)の設定

しかし、コマンドラインから変更をコミットすると、作成者名はリポジトリ(svnadmin)にsshで使用するユーザー名に設定されます。 svn + sshを使用しているときに、コマンドラインからsshユーザ名とは関係なく、作者名/ svnユーザ名に相当するものを設定する方法はありますか?私は試しました

svn --username Alok ci 

しかし、この場合のユーザ名は無視され、変更はsvnadminに帰せられます。

答えて

2

svn + sshのユーザー名を変更できないように設計されています。可能であれば、コミッターとして誰かを偽造することができます - SSHキーが通常コミッターとして自分自身を明確に特定するとき。

あなたは別のコミッター名はSVN + SSHで表示したいのであれば、あなたは、サーバー上で何かを変更する必要があります:

  1. 別のリモート・ユーザを作成し、ユーザーのためのauthorized_keysファイルにあなたの鍵を置きますあなたはコミッターとして見せたいと思う。代わりに、
  2. svnadminユーザーのauthorized_keysファイルにコマンド=行を入力します。コマンドは/usr/bin/svnserve -t --tunnel-user Alokとなります。オプションで--rootオプションも使用できます。
+0

あなたが言うことは理にかなっていますが、それで食はどのようにしますか?また、svnadminとしてsvn + sshに接続しますが、Author NameをAlokに設定します。私は、日食が何をしているかを詳しく見なければならないと思います。 – Alokito

1

回避策の一つは、あなたがSVNを変更することができますコミットした後の最初の、

REPOS="$1" 
REV="$2" 
USER="$3" 
PROPNAME="$4" 

if [ "$PROPNAME" = "svn:log" ]; then exit 0; fi 
if [ "$PROPNAME" = "svn:author" ]; then exit 0; fi 
exit 1 

次にフックで次/前のリビジョン属性変更のようなシェルスクリプトを置くことによって、リビジョンタグの編集を有効にすることです。著者

svn propset --revprop -r1234 svn:author Alok 

でこれは日食はSVNを設定することができる方法を説明していません:著者は、pre-revprop-changeフックを持たずに時間をコミットします。この解決策は、任意のユーザが任意のコミットのsvn:authorを変更できるので、少し不満です。実際にEclipseが何をしているか知ることはうれしいでしょう。

+0

私はEclipseがそれをどうやって行うかにも興味があります。 –

関連する問題