ローカル SVN リポジトリにアクセスするためのデフォルトの作成者を変更するにはどうすればよいですか?
-
09-06-2019 - |
質問
TortoiseSVN を使用してファイルベースのローカル リポジトリにアクセスします。私のすべてのコミットでは、作成者は私の Windows ログイン名です。別の名前を使用することは可能ですか?
コミット後に作成者を変更する方法はわかっていますが、コミット前に変更するにはどうすればよいですか?apache/svnserver のインストールはオプションではありません。
解決
はい、可能です。
TortoiseSVN そしてその SVN コマンド ライン クライアントは、プロファイル フォルダー内の同じ設定の場所を共有します。したがって、次を使用して 1 つのバージョンを単純にチェックアウトできます。 svn.exe:
$ svn co --username different_user_name file:///C:/path/to/your/repo
...Subversion は、そのリポジトリに関連付けられたユーザー名を喜んで置き換えます。TortoiseSVN からの新しいコミットでは、どのプログラムで新しいチェックアウトを行ったとしても、常にそのユーザー名が使用されます。
この手順は TortoiseSVN 1.5.5 で動作するはずです。そうでない場合は、svn の認証キャッシュ (%APPDATA%\Subversion\auth\svn.username
) 初め。
他のヒント
考えられるもう 1 つの回避策 (ただし、私はそうしています) ない これを提唱している) は、ユーザー名を変更するために、コミット前にクライアント側のフック スクリプトを使用することです。
フック スクリプトについては Subversion ブックで説明されており、ローカル フックについては TortoiseSVN ヘルプの「クライアント サイド フック スクリプト」で説明されています。
私の知る限り、TortoiseSVN はこれを行う方法を提供していません。
ファイルベースのアクセスはマルチユーザーのシナリオでは現実的ではなく、シングルユーザーの場合は作成者名の重要性が低いため、おそらくこれは大きな問題とは見なされません。
考えられる回避策は、必要な作成者名で別の Windows ユーザー名を作成し、これに接続することです。
私は Windows マシンで svn をホストしたことがないので、これは暗闇の中でのショットです。新しい Windows ユーザーを作成し、参照、チェックアウト、コミットなどの際にそのユーザーを指定できる場合があります。次のように変更を加えたいとします。 msznajder
. 。Windows でその名前のユーザーを作成し、TortoiseSVN のリポジトリ ブラウザを使用してリポジトリを参照して、URL にユーザー名を指定します。 file:///msznajder@localhost/some/file/path
.
post-commit-hook を設定することをお勧めします (リポジトリのフック フォルダー内 - post-commit-hook.tmpl を post-commit-hook.bat にコピーして空にするだけです [1]
svn propset svn:author --revprop -r HEAD <author> file:///<path-to-repo>
[2]
[1] SlikSvn または同様のものがインストールされている場合、つまりコマンドライン svn アクセスが可能)
[2] 同じ内容の (Linux の場合は #!/bin/bash プリアンブル付きの .sh)