Home > Tags > svn
svn
subversion のバックアップ方法
- 2008/08/05
- その他
以下のコマンドでバックアップできます。
デフォルトでは 64 個のバックアップが作成されてしまうので、最大 5 個になるようスクリプトを修正します。
# diff hot-backup.py hot-backup.py.ori
37c37
<num_backups = 5
---
> num_backups = 64
毎日バックアップされるようクーロンを設定します。
# cat /etc/cron.daily/svn
#!/bin/sh
/usr/share/doc/subversion-1.4.2/tools/backup/hot-backup.py /srv/svn/project /srv/backup/svn
# chmod 755 /etc/cron.daily/svn
参考サイト
Subversion リポジトリのバックアップ、リストア - snbhsmt_log
あとは rsync で他のサーバに退避させる。
参考サイト
Command Technica:はじめてrsyncを使う方が知っておきたい6つのルール (2/2) - ITmedia エンタープライズ
Command Technica:rsyncを使った熟練者レベルのバックアップ (3/3) - ITmedia エンタープライズ
svn ディレクトリを除いてファイルのみを find する方法
find . -name .svn -prune -o -type f -print|grepl sample|xargs ls -l // find sample という名前のついたファイルを ls -l
find . -name .svn -prune -o -print0 | sudo xargs -0 chown xxx:xxx // svn ディレクトリを除いてユーザーを一括変更
find . -name .svn -prune -o -type f -print0 | sudo xargs -0 chmod 775 // svn ディレクトリを除いてパーミッションを一括変更
svn st|grep '^?'|awk '{print $2}' |xargs svn add // 一括で svn add
colinuxからproxyを通してsvnで通信する方法
- 2008/01/09
- その他
colinuxから外部のリポジトリにアクセスできないなぁ、colinuxの設定かと悩んでいたら、単純にプロキシの設定でした。
修正箇所:~/.subversion/servers
http-proxy-host = プロキシサーバのホスト名
http-proxy-port = プロキシサーバのポート番号
svn addする時に複数ファイルを一括で追加する方法
- 2008/01/04
- その他
普通に
ではディレクトリを再帰的に辿ってくれない。
以下の方法なら辿ってくれる。
SVNとTRACとSVK
- 2008/01/01
- その他
複数ファイルを一括で文字列置換したい
今回行ったのは、Subversion のキーワード置換用の "$Id$" という文字列が入っていないファイルに対して一括で挿入する処理です。
ほんとうは実行結果のログも取得したいところですが、時間がなかったのでログはなしで。
for i in `find -name "*.php"`; do sed -e 's/@version.*$/@version $Id$/' $i > $i.new && mv $i.new $i; done
- コメント: 0
- トラックバック(閉): 0
Subversion でキーワード置換を使うには
ファイルをメンテナンスする度にヘッダーコメントを修正するのは非常に手間だし修正忘れもよく起こりいいことがない。
以下の例のようにヘッダーコメントを自動で設定するようにしたい。
@version $Id: xxxxx.php 391 2007-01-01 18:36:59Z xxxxx $
調べてみるとこれはキーワード置換という CVS や SVN のようなバージョン管理ツールが持っている機能を使っているらしい。
以下はキーワード置換を有効にする方法。
Subversion の propset コマンドを使います。
find . -name "*.php" -exec svn propset svn:keywords "Id" {} ;
Id 以外のキーワードも使いたい場合は、ダブルコーテーションでくくって以下のようにします。
find . -name "*.php" -exec svn propset svn:keywords "Id Revision LastChangedBy Date" {} ;
あとは普通にコミットすれば自動で、$Id$ という文字列が展開されます。
あと毎回 propset コマンドで設定するのはめんどくさいので、ファイルを追加する時に自動で propset を設定するようにします。
どこでもいいのでディレクトリを右クリックします。※TortoiseSVN がインストールされているのが前提
で、右クリック->TortoiseSVN->設定->一般->Subversion の編集ファイル->編集 を実行。すると設定ファイルが開かれるので、
[miscellany]
enable-auto-props=yes
[auto-props]
*.php = svn:keywords=Id
*.tpl = svn:keywords=Id
*.thtml = svn:keywords=Id
を追記します。
これで次回から追加するファイルは自動でキーワード置換が有効になります。
- コメント: 0
- トラックバック(閉): 0
ホーム > タグ > svn