カスタム検索
ラベル subversion の投稿を表示しています。 すべての投稿を表示
ラベル subversion の投稿を表示しています。 すべての投稿を表示

2009年6月11日木曜日

Subversionの移行とバックアップについて

ちょっとSubversionを移行する機会があったのでメモ

SVNを作成
svnadmin create repoName

バックアップの作成
svnadmin dump repoName > repo.dump

バックアップのリストア
svnadmin load repoName < repo.dump

ファイルを丸ごとコピーしてもいけるっぽいけど、環境によってはNGっぽいのでdumpを使う事にしました。

バックアップをする時は、必ずsvnのユーザで実行する事!rootはだめ!
dump した時にエラーが出る場合は repoName/db/log* のファイルが壊れている事があります。
だからと言って log* ファイルは結構大事なファイルなので、さくっと消してはいけません。

そんな時にはリカバリコマンド
svnadmin recover repoName

もちろんこれもsvnユーザで。rootユーザでやってリポジトリ壊れたのはいい思い出・・・

cronで常用バックアップしたい場合は svn-backup-dumps.py を使うと便利!
SVN1.4以降なら一緒にインストールされてます。
ここに詳しい事が乗っています。

こんな感じのスクリプトを作って

DUMP="/subversion-1.4.2/tools/server-side/svn-backup-dumps.py"
BACKUPDIR="/svnbackup/"

for var in `ls -F /svn/repos|grep /`
do
BKSVN="$BACKUPDIR$var"
mkdir $BKSVN
$DUMP -c 10 $var $BKSVN
done


crontab に設定
05 4 * * * root /root/svnbackup.sh

これでrepos以下にあるリポジトリ全部を /svnbackup へバックアップしてくれます、リポジトリが増えても安心!

2009年4月6日月曜日

マカーがSubversionを1.6へ移行する道程

Grailsが1.1になってplugin repositoryを設定出来るようになったりして使ってみようと思ったんだけど、どうやらSubversion1.6でないとだめらしい
(Macにデフォで入ってるのは1.4.4なわけですよ)

1.6の新機能詳細はこちら
Mac用のバイナリがここにあるので、これをインストール

/usr/bin/svn を1.6に置き換え、既存のプロジェクトを操作してみる・・・
特に問題無し、.svnの中身は自動でアップグレードしてくれるらしい

ただし下位互換が無いので、一度プロジェクトを1.6にしてしまったら全ユーザが1.6にする必要あり!

・その他、Subversionを使ってたアプリの設定変更
EclipseのSubclipseを1.6用のものに置き換え(アップデートサイトが1.4.x系とは別なんで注意)
Textmateの Preferences > Advanced > Shell Variables の TM_SVN を 1.6 の svn のパスに変更(ここに設定してあったのすっかり忘れてた)