チーム用には Git という話は置いといてw
Windows マシンの外付けディスクに SVN のリポジトリを置いてローカルのバックアップを取るようにしてます。
で、このディスクがいっぱいになってしまいそうになったので、別のHDDに移動させてみようと試みました。
同じ苦労をする人もいそうなので、まとめておきます。
Windows マシンの外付けディスクに SVN のリポジトリを置いてローカルのバックアップを取るようにしてます。
で、このディスクがいっぱいになってしまいそうになったので、別のHDDに移動させてみようと試みました。
同じ苦労をする人もいそうなので、まとめておきます。
リポジトリのバックアップ
リポジトリのバックアップは、svnadmin dump コマンドで実行します。
残念ながらHDDを丸ごと、というのはできそうになかったので、リポジトリごとに実施してみました
■サンプルとして、次のような環境があるとします。
・現在のリポジトリの位置:G:\Repositories
・リポジトリ:Project1, Project2, Personal
・新しいHDDは H: ドライブ
・H:\Backup, H:\Repositories のフォルダを作っておきます。
■コマンドプロンプトで、H:\Backup に移動します
C:\>H:
H:\>cd Backup
H:\Backup>
■svnadmin dump コマンドでバックアップファイルを作成します。
ひとつづつ処理するのはめんどくさいので、for でループさせました。
H:\Backup>for %x in (Project1 Project2 Personal) do svnadmin dump >G:\Repositories\%x.dmp
リポジトリのダンプファイルが出来上がります。
残念ながらHDDを丸ごと、というのはできそうになかったので、リポジトリごとに実施してみました
■サンプルとして、次のような環境があるとします。
・現在のリポジトリの位置:G:\Repositories
・リポジトリ:Project1, Project2, Personal
・新しいHDDは H: ドライブ
・H:\Backup, H:\Repositories のフォルダを作っておきます。
■コマンドプロンプトで、H:\Backup に移動します
C:\>H:
H:\>cd Backup
H:\Backup>
■svnadmin dump コマンドでバックアップファイルを作成します。
ひとつづつ処理するのはめんどくさいので、for でループさせました。
H:\Backup>for %x in (Project1 Project2 Personal) do svnadmin dump >G:\Repositories\%x.dmp
リポジトリのダンプファイルが出来上がります。
リポジトリのリストア
■新しいリポジトリに移動します。
H:\Backup>cd \Repositories
H:\Repositories>
■svnadmin create でリポジトリを作ります。
同じように for でループして作成しました。
H:\Repositories>for %x in (Project1 Project2 Personal) do svnadmin create %x
■svnadmin load コマンドでダンプファイルからリストアを実行します
H:\Repositories>for %x in (Project1 Project2 Project3) do svnadmin load ./%x/ <H:\Backup\%x.dmp
リポジトリのリストアが出来上がったようです。
H:\Backup>cd \Repositories
H:\Repositories>
■svnadmin create でリポジトリを作ります。
同じように for でループして作成しました。
H:\Repositories>for %x in (Project1 Project2 Personal) do svnadmin create %x
■svnadmin load コマンドでダンプファイルからリストアを実行します
H:\Repositories>for %x in (Project1 Project2 Project3) do svnadmin load ./%x/ <H:\Backup\%x.dmp
リポジトリのリストアが出来上がったようです。
500 Internal Server Error が出ちゃう
これで動くと思ったんですよ。そしたら・・・
しばらくすったもんだした挙句、リポジトリのリストアで、コマンドプロンプトを管理者モードで実行してたのがよくなかったみたいでした
で、通常モードで再度リストア処理を実施しましたorz
で、通常モードで再度リストア処理を実施しましたorz
forbidden Error が出ちゃう
リポジトリのセキュリティ設定
管理には Visual SVN Server Managerってのを使っているので、リポジトリを右クリック
セキュリティタブで、ユーザーのアクセス権を追加する必要がありました。
ローカルで使用しているだけなので、ここは Everyone に R/W を許可しました。
セキュリティタブで、ユーザーのアクセス権を追加する必要がありました。
ユーザーの追加
Visual SVN Server Manager でユーザーを追加しまして、エクスプローラから SVN 更新を選んでみると
ユーザー認証画面が出てきまして、ディスクの入れ替えが完了しました。
めでたしめでたし。
めでたしめでたし。