svnマスター実装
1576 ワード
原文を参考にするhttp://blog.csdn.net/xabc3000/article/details/7246703
よく使われているのは以下の部分です.Aライブラリの提出と同時にBライブラリに同期させることができます.
バージョンライブラリの同期
Subversion 1.4は、同期機構を追加して、他のバージョンライブラリと同じバージョンライブラリの同期を実現することができます(ただし、一方向のようです).
3.1.ターゲットライブラリの初期化
3.2.同期project 2からproject 1まで
3.3.同期履歴属性の変更
同期は歴史属性に対する修正を更新しないので、svnsyncはcopy-revpropsをサブコマンドして、あるバージョンの属性を同期させることができます.
3.4.フックの自動同期
毎回提出する時に同期したいなら、ソースライブラリにpost-comitスクリプトを追加する必要があります.内容は以下の通りです.
よく使われているのは以下の部分です.Aライブラリの提出と同時にBライブラリに同期させることができます.
バージョンライブラリの同期
Subversion 1.4は、同期機構を追加して、他のバージョンライブラリと同じバージョンライブラリの同期を実現することができます(ただし、一方向のようです).
3.1.ターゲットライブラリの初期化
svnsync init svn://localhost/project2 svn://localhost/project1
その中のproject 2はターゲットのバージョンライブラリであり、project 1はソースライブラリである.ターゲットのバージョンライブラリは空である必要があります.そして、バージョン属性の変更を許可しなければなりません.つまりターゲットのバージョンライブラリのhooffsディレクトリにファイルpre-revprop-change.batを追加してください.内容は空です.3.2.同期project 2からproject 1まで
svnsync sync svn://localhost/project2
この時、あなたのproject 2の仕事をコピーしたら、project 1の内容が全部入っています.project 1がまた提出されている場合、project 2のバージョンライブラリは最新の変化を見ることができず、もう一度sync操作を実行してこそ、最新の変化を同期させることができます.注意したいのは、ターゲットのバージョンライブラリは読み取り専用にしか作成できません.ターゲットのバージョンライブラリが変更されたら、同期を続けることができません.3.3.同期履歴属性の変更
同期は歴史属性に対する修正を更新しないので、svnsyncはcopy-revpropsをサブコマンドして、あるバージョンの属性を同期させることができます.
3.4.フックの自動同期
毎回提出する時に同期したいなら、ソースライブラリにpost-comitスクリプトを追加する必要があります.内容は以下の通りです.
echo off
set SVN_HOME="D:\Subversion"
%SVN_HOME%\bin\svnsync sync --non-interactive svn://localhost/project2
上記の内容をpost-comit.batとして保存し、それをバージョンライブラリproject 1の下のhooksディレクトリに置くと、このようにproject 1が毎回提出されると、project 2の同期を引き起こします.