Scientific Linux 6
Sponsored Link

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

[root@www ~]#
chmod 700 svn-update.sh

[root@www ~]#
./svn-update.sh

U /var/www/html/note.cgi
Updated to revision 9.
関連コンテンツ