svnsync

Subversion リポジトリに大きなサイズのリポジトリをインポートする方法として、svnsync コマンドがあります。本ページでは svnsync コマンドの使い方を説明します。

操作方法

事前準備

  1. インポート先(同期元)となる Subversion リポジトリを新規作成します。
  2. svnsyncコマンドを利用するために、tracpath の管理画面から svnsync 用のアカウントを登録する必要があります。
    • この許可したアカウントは、svnsync を操作するアカウントと一致させる必要があります。
    • また、対象のリポジトリに対する権限を付与しておく必要があります。
    • インポート先とする Subversion リポジトリは空の状態で作成しておく必要があります。
  3. 管理者権限を持ったアカウントで tracpath にログインします。
  4. 最初に作成した Subversion リポジトリの設定変更画面を開きます。
    • プロジェクト一覧から対象のリポジトリから「リポジトリ設定を変更」をクリックします。

    リポジトリ設定.png

  5. 「svnsync ユーザ:」に svnsync で利用するユーザ名を指定します。
    • 他の Subversion リポジトリからインポートするのに必要になります。

操作手順:

  1. svnsync コマンドを準備します
    • TortoiseSVN の場合:

    • Subversion for Windows の場合:

      • svnsync.exe も同梱されているため、そのままコマンドが利用可能です。

    • Windows 以外の場合:
      • svn が使える環境であれば、通常は svnsync も利用可能です。
  2. 同期元になる Subversion リポジトリがあるものとする
    • ここでは file:///C:/repos/example とします

    • ダンプファイルになっているなら、一旦ローカルにリポジトリを作成して svnadmin load する
  3. 同期先になる Subversion リポジトリをプロジェクトページから作成する
    • ここでは https://example.tracpath.com/svn/target とします

    • trunk などの初期ディレクトリを作成しないようにする (そうでないと svnsync init で失敗します)

  4. 続けて、リポジトリ設定のダイアログで、svnsync ユーザ: にインポートを実行するユーザを設定します

  5. svnsync init で同期の準備をします

    $ svnsync init --sync-username <同期先のユーザ名> https://example.tracpath.com/svn/target \
                   --source-username <同期元のユーザ名> file:///C:/repos/example
  6. svnsync sync <同期先URL> で同期を実行します

    $ svnsync sync https://example.tracpath.com/svn/target

コマンド例

リポジトリの設定で svnsync ユーザを指定していない場合、以下のようなエラーになる。

svnsync ユーザを指定した後:

同期実行:

関連FAQ


リンク

help/svnsync (last edited 2018-05-29 03:32:59 by omae)