SVNリポジトリ移行で失敗しないチェックリスト|5フェーズ・31項目で確認漏れをなくす

By • 2026-10-06 • SVN

SVNリポジトリを移行するときは、ファイルと変更履歴に加えて、権限設定、フックスクリプト、CIなどの接続先も確認します。リポジトリの複製が終わっても、これらが移行先で動かなければ、開発作業を再開できません。

この記事では、事前調査から旧サーバーの廃止までを5フェーズ・31項目に分けて整理します。自社の環境に当てはめ、各項目の担当者と確認結果を記録してください。

→移行の確認事項について相談する

フェーズ1 事前調査 8項目

最初に、移行するリポジトリと、別途保全するリポジトリを一覧にします。利用中かどうかだけでなく、過去版を参照する必要や保存期間も確認してください。

✓ 確認項目 確認する理由
□ リポジトリの一覧と総数を確定した 対象の移し忘れを防ぐ
□ 各リポジトリの容量と合計容量を把握した 必要な容量と費用を見積もる
□ 利用状況と保存要件を確認し、移行・別途保全の対象を決めた 休眠中のリポジトリにも保守や説明に必要な履歴がある
□ 利用者数とアカウント一覧を把握した 利用者と切替の周知先を確認する
□ 権限設定(authz=SVNの権限設定ファイル)の内容を控えた 移行先でも必要な閲覧・更新の範囲を設定する
□ フックスクリプトの有無と内容を控えた フックで行っている処理を引き継ぐ
□ CI・課題管理・ビルド・svn:externalsの参照先を一覧にした リポジトリ外の接続先や依存先も切替対象になる
□ SVN本体・サーバーOSのバージョンを記録した 移行方法と接続の互換性を確認する

フェーズ2 計画 6項目

✓ 確認項目 確認する理由
□ 切替日と作業時間帯を決め、関係者と合意した 業務への影響を確認する
□ 書き込み停止の時刻・方法・確認担当を決めた 利用者への周知だけでは書き込みを停止できない
□ 中止・切り戻しの基準と、新環境で書き込み再開後に問題が出た場合の扱いを決めた 新環境の変更を失わずに復旧する手順が必要になる
□ 移行作業の担当と連絡体制を決めた 作業中の連絡先と判断者を明確にする
□ 移行先の容量・費用・対応機能と、バックアップ・復元の準備を確認した 切替後に必要な機能や保全方法が不足することを避ける
□ 旧サーバーの保全期間と廃止日を決めた 保存要件に合わせて旧環境を保全する

フェーズ3 検証移行 7項目

本番切替の前に、対象の設定や利用方法を含む検証移行を行います。

✓ 確認項目 確認する理由
□ 移行元・移行先が対応する方法で、対象の履歴を複製した exportしたファイルの再登録では過去の履歴を引き継げない
□ 履歴をそのまま移す場合は最終リビジョン番号を照合し、検証処理の結果も確認した 番号の一致だけではデータの正しさを判断できない
□ 最新版と選定した過去版のファイル・属性・変更記録を照合した 過去の出荷版も取り出せることを確かめる
□ svn:needs-lockなどの属性と、既存ロックの解除・再取得手順を確認した 属性の移行と現在のロック状態の引き継ぎは別の作業になる
□ 権限設定を移行先で再現し、テストユーザーで確認した 必要なアクセスを許可し、不要なアクセスを拒否できるか確かめる
□ フック相当の仕組みを移行先で再現・動作確認した コミット時の検査や通知が動くか確認する
□ CI・課題管理など外部連携の接続を試験した 認証と接続に加え、ビルドや通知の結果を確認する

サーバーに管理権限がある場合は、svnadmin verifyなどによる整合性確認も行います。ホスティング先で実行できない場合は、提供元に検証方法と結果を確認してください。これらの確認に加え、過去版の取り出し、権限、フック、外部連携を実際に試します。

UUIDはリポジトリの識別子です。svn relocateは、同じリポジトリの場所が変わった場合に作業コピーの接続先を変更する操作です。履歴やリポジトリ内パスを変更する移行では、再チェックアウトなどの手順を検証してください。

フェーズ4 本番切替 5項目

接続先変更の手順は事前に配布します。以下では、書き込み停止から再開までの確認を行います。

✓ 確認項目 確認する理由
□ 旧環境の書き込み停止を確認し、最終状態のバックアップを確保して移行先へ最終差分を反映した 最後に確定した変更まで保全する
□ 検証済みの接続先変更手順を事前に配布し、切替時の実施を確認した 利用者が旧環境を参照し続けることを避ける
□ UUID・履歴・リポジトリ内パスを確認し、relocateまたは再チェックアウトの手順を検証した 接続先変更だけで作業コピーを継続利用できるか判断する
□ 連携先(CI・課題管理)の接続先URLを更新した 旧サーバーへの接続を残さない
□ 最終リビジョンと内容を照合し、権限・連携・バックアップの確認後に書き込みを再開した データの欠落や動作不良を確認してから利用を再開する

フェーズ5 移行後 5項目

✓ 確認項目 確認する理由
□ 切替時から旧環境の書き込み禁止を維持し、保全期間中の参照方法を決めた 新旧両方で更新されることを防ぐ
□ 切替前に準備したバックアップの実行結果と、復元確認の結果を記録した 新環境のデータが継続して保全されることを確認する
□ 運用ドキュメント(構成図・権限一覧・手順)を更新した 新環境で使う手順と連絡先を確認できるようにする
□ 数週間後に利用状況と問い合わせを振り返った 利用再開後に発生した問題と対応状況を確認する
□ 移行の受け入れと保存要件を確認し、保全期間の終了後に旧サーバーを廃止した 必要な履歴や復旧手段を早く廃棄しない

移行方法と設定で確認する3点

過去の履歴を残す方法を選ぶ。 exportは指定した版のファイルを取り出す操作で、履歴を複製する操作ではありません。履歴を残すには、移行元と移行先が対応する方法を選びます。dump/load、svnrdump、svnsync、hotcopyは、それぞれ利用条件と引き継ぐ情報が異なります。

設定とロックを別に確認する。 dumpにフックスクリプト、サーバー設定、現在のロック情報は含まれません。認証・権限・フックを移行先でどう設定するか、既存のロックをどう扱うかを決めます。

連携先で動作を確認する。 接続先URLを更新したら、CIのビルドや課題管理への通知を実行します。URLの変更だけで完了とせず、認証と連携結果まで確認してください。

自社に該当する項目を確認する

外部連携を使っていないなど、該当しない項目には理由を記録します。リポジトリ数や利用者数が少なくても、履歴の照合、権限確認、バックアップ、切り戻しの準備は必要です。検証の範囲は、データの重要性、設定の違い、停止できる時間に応じて決めてください。

まとめ

移行前に、リポジトリ、権限、フック、外部連携を一覧にします。検証移行では、最新のファイルだけでなく、過去の履歴と業務で使う操作を確認してください。

本番切替は、旧環境の書き込み停止、最終状態の保全、差分の反映、内容と動作の確認、利用再開の順で進めます。接続先変更の手順は事前に配布し、バックアップの準備も利用再開前に終えておきます。

tracpathへの移行を検討している方は、リポジトリの容量、利用人数、外部連携、希望時期をお知らせください。移行方法と支援が必要な範囲をご相談いただけます。

→tracpathへの移行について相談する

関連記事

参考資料

参照先は1.7系列の説明です。実作業では、利用中のバージョンと移行先の対応機能も確認してください。

この記事の著者

株式会社オープングルーヴ/tracpath編集部。バージョン管理サービスtracpathを提供。

You Might Also Like