Subversion - データを更新する2011/06/04 |
リポジトリを更新するだけでは、管理対象としたいデータには何も反映されません。
ここでの例で /var/www/html 配下にあるデータをリポジトリのデータにしたがって更新させるには、
サーバー側で以下のような作業が必要となります。
初回操作は、サーバー上の管理対象とするディレクトリ配下にはまだ何もない状態という前提で進めていきます。
( ここの例では /var/www/html )
|
|
[1] | サーバー側での初回操作として、リポジトリのデータを管理対象ディレクトリへチェックアウトすることが必要です。 この操作は初回のみで後は必要ありません。 |
# svn co [リポジトリの場所] [管理対象ディレクトリ] と指定 [root@www ~]# svn co file:///var/www/svn/site /var/www/html |
[2] | クライアントからリポジトリが更新されたときには、サーバー上で以下のようにしてリポジトリの更新を管理対象データに反映させます。 |
[root@www ~]# svn update /var/www/html U /var/www/html/policy.html Updated to revision 4. |
[3] | リポジトリから管理対象データへのアップデートの際、ファイルの所有者やパーミッションを意図したものにしたい場合は、 スクリプトで設定するようにします。 |
[root@www ~]#
vi svn-update.sh
# リポジトリからデータをアップデートして所有者とパーミッションを所定のものに変更
# 一例ですのでご自由に改変ください。 #!/bin/bash svn update /var/www/html find /var/www/html -type d -print0 | xargs -0 chmod 705 chown -R fermi. /var/www/html while read FILE PERM do find /var/www/html -name "$FILE" -type f -print0 | xargs -0 chmod $PERM done <<EOL *.html 604 *.cgi 705 *.xml 604 *.jpg 604 *.gif 604 EOL chmod 700 svn-update.sh [root@www ~]# ./svn-update.sh U /var/www/html/note.cgi Updated to revision 9. |
Sponsored Link |