windowsのSubversionでコミット時に名前をつけかえる
authorがIDとかになっちゃうのを名前に付け替えるとかしたい人向け。
とりあえずリポジトリがローカルドライブかネットワークドライブ
(ドライブレター割り付けたもの)で使える方法です。
以下はパスが通った場所にsvn.exeをおいてある場合に有効です。
またpre-revprop-changeフックスクリプト(pre-revprop-change.bat)
でuserを変更できる設定にしておく必要があります。
(たとえばpre-revprop-change.batの中身を空にしておくとか、
条件付でexit 0を返すようにしておくとか)
post_commitフックではreposとして
d:\ccc
の形式がやってきます
(フックスクリプトは表示されないのでこれに気づくのにかなり時間を食いました。)。
svn propget/propsetは
file:///d:/ccc
の形式なのでそのままでは実行されません。
よって\を/に置換してfile:///を頭にくっつけて処理します。
基本的にわかってないので、無駄が多いです。
<post-commitフックスクリプト(post-commit.bat)中身>
SET REPOS2=%1
SET REV=%2
SET REPOS1=%REPOS2:\=/%
SET REPOS="file:///%REPOS1%"FOR /f %%A IN ('svn propget svn:author --revprop -r %REV% %REPOS%') DO SET USER=%%A
if "%USER%"=="Anohito" (
svn propset svn:author --revprop -r %REV% Konohito %REPOS%
exit 0
)
exit 0
| 固定リンク
「Subversion」カテゴリの記事
- TortoiseSVNでの変更ファイル等をcopyするwsf(2012.08.21)
- svnのpre-lockスクリプト(windows)(2012.08.15)
- Subversionでのリビジョン削除(2012.08.13)
- subversionのコミットログを検索して置換(2010.09.02)
- subversionリポジトリを別のPC/サーバに移すときやること(2009.10.22)
この記事へのコメントは終了しました。
コメント