【至急・重要】ウィルスチェックのお願い


Subversion[up]: 1.6.12に統一 – TortoiseSVN・svnadminをアップグレード

複数のリポジトリをマージ(統合)する際の障害(※)を前向きに乗り越えるべく、TortoiseSVNとSubversion(コマンドライン版)のバージョンを最新に揃えることにし、アップグレードを決行した。

※ 旧リポジトリのダンプを統合先の新リポジトリ(TortoiseSVNで作成)に読み込ませようとして svnadmin load すると、「svnadmin: 期待されるファイルシステム形式は 1 から ’3′ の間ですが、実際の形式は ’4′ です」と弾かれてしまう問題。Subversionのバージョン齟齬が原因らしい。後ろ向きな方法は2つ試したが、今回は前向きに。詳細は別記

作業前の環境

  • Windows Vista (32bit版)
  • TortoiseSVN 1.6.7

    TortoiseSVN 1.6.7, Build 18415 – 32 Bit , 2010/01/22 17:55:06 Subversion 1.6.9,
    apr 1.3.8
    apr-utils 1.3.9
    neon 0.29.3
    OpenSSL 0.9.8k 25 Mar 2009
    zlib 1.2.3

  • svnadmin = Subversion 1.5.6 (コマンドライン版)
  • 作業者: ぼのを。英語苦手。subversion Lv:1。

最新版の捜索

前回マージに挑戦したとき(一年以上前)は、TortoiseSVNとつり合うバージョンのSubversionを見つけられなかった。
今回はなるべく最新に近いバージョンでつり合うものを探す。

TortoiseSVN

TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi

今使っている TortoiseSVN 1.6.7は、ファイル名が TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi で Subversion 1.6.9だったので、「svn-*.*.*」のとこがSubversionのバージョンっぽい。

ということで、Subversion 1.6.12にロックオン。

Subversion

プロジェクトのサイト subversion.tigris.orgに行くと、
This is the former website of the Subversion software project, which now calls subversion.apache.org home.
と書かれている。サイト移転した模様。スガ━━ΣΣ(゚Д゚;)━━ン 1

一応Tigris.orgサイト内を見てみたけど、

というわけで、

  1. 観念して Apache Subversionのサイトに移動。
  2. サイドバーから、Getting Subversion > Binary Packages
  3. Windowsをクリックする。
    が、複数あってどれがいいのか分からなぁーい。(>_<)

    • CollabNet (professionally supported and certified by CollabNet)

      Subversionは、グローバルな分散型組織に向けたバージョン管理とソフトウェア構成管理(SCM)の新たなスタンダードです。CollabNet Subversionはエンタープライズ対応の分散型Subversionで、Eclipse、HP Quality Center、およびIBM Rational ClearCaseの認定バイナリ、プラットフォーム別インストーラ、認定プラグインを含みます。

      なんかEclipseとかも入った大掛かりなパッケージみたい?
      CollabNet Subversion Command-Line Client v1.6.12 (for Windows)」っていうのがあるけど、Platforms: Windows XP SP2, Windows Server 2003, Standard Edition だし、ダウンロードするにはユーザ登録も必要みたい。

    • SlikSVN (32- and 64-bit client MSI; maintained by Bert Huijben, SharpSvn project)
      「MSI」に惹かれるが。。

      We provide a standalone command line Subversion package for Windows. The installer contains all command line tools (svn, svnadmin, svnsync, svnserve, svnmucc, etc.) but no application bindings nor Apache modules.

      こ、これか!これなのか――!!
      ……ハイ、もういいです、これにします。
      あと2つあるけど英語読むのに疲れますた。orz

てなわけで、アップグレード決行であります。

TortoiseSVN 1.6.7→1.6.10へアップグレード

配布元に注意書きあり。英語からの逃避に失敗。orz

Important Note
If you’re updating from an earlier version (pre 1.6.10), you have to run the installation twice. Just use the "Repair Install" the second time.

If you want to know the details about why the repair install is necessary, read my post about it.

TortoiseSVN downloads | TortoiseSVN

旧バージョン(1.6.10未満)からアップグレードする場合、インストールを2回実行する必要あり。2回目は「Repair Install」でね、とのこと。

いざ。

  1. TortoiseSVN » downloadsより次の2つをダウンロード。
    • 本体: Download ApplicationTortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msi
    • 日本語化: Language packsのJapanese・32Bit(LanguagePack_1.6.10.19898-win32-ja.msi
  2. TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msiをダブルクリックしてセットアップウィザードを起動し、インストールを実行。
  3. PC再起動を求められるので素直に再起動。
    (再起動後に試しにデスクトップ上で右クリックしてみると、TortoiseSVNのメニューが出ない。Windowsの「プログラムのアンインストールと変更」画面の一覧には載っている)
  4. いざ2回目。もう一度 TortoiseSVN-1.6.10.19898-win32-svn-1.6.12.msiをダブルクリックし、セットアップウィザードを起動。
    1. 「Next >」をクリック
    2. 「Modify」「Repair」「Remove」の3ボタンから選ぶ画面になるので、「Repair」をクリック
    3. 確認画面(Click Repair to repair the instllation of ~)になるので、「Repair」をクリック
  5. 終了するとPC再起動を求められるので、やはり素直に再起動。
    (再起動後に右クリックしてみると、今度はTortoiseSVNのメニューが出た)
  6. 日本語化するため、LanguagePack_1.6.10.19898-win32-ja.msiをダブルクリックしてインストール。

で完了。

バージョン情報:

TortoiseSVN 1.6.10, Build 19898 – 32 Bit , 2010/07/16 15:46:08 Subversion 1.6.12,
apr 1.3.8
apr-utils 1.3.9
neon 0.29.3
OpenSSL 0.9.8o 01 Jun 2010
zlib 1.2.3

Subversion(コマンドライン版) 1.5.6→1.6.12へアップグレード

  1. Download Subversion Client | Slik SVNから「SlikSVN 1.6.12 32bit edition」をポチっとな。
  2. 今までとは別製品っぽいので、旧バージョン Subversion 1.5.6を一旦アンインストールしておいてみる。
    (これの発行元、CollabNetってなってるんだけどな。。)
  3. 言われないけど一応PC再起動
  4. Slik-Subversion-1.6.12-win32.msi をダブルクリックして、セットアップウィザードを起動
    1. 一応「Custom Setup」を覗くと、Repository Toolsに svnadminが入ってる模様。デフォルトではsvnserveは入らないけど使わないよね、ということで、デフォルトのまま続行、インストール。
  5. コマンドプロンプトでバージョンを確認

    C:\Users\bono>svnadmin --version
    svnadmin, バージョン 1.6.12 (SlikSvn/1.6.12) WIN32
       コンパイル日時: Jun 22 2010, 20:45:29
    
    Copyright (C) 2000-2009 CollabNet.
    Subversion is open source software, see http://subversion.tigris.org/
    This product includes software developed by CollabNet (http://www.Collab.Net/).
    
    以下のリポジトリバックエンド (FS) モジュールが利用できます:
    
    * fs_base : Berkeley DB リポジトリを扱うためのモジュール。
    * fs_fs : プレインファイル (FSFS) リポジトリを扱うためのモジュール。
    
    
    C:\Users\bono>
    

    ヘルプを見たところ、一部日本語化されていなかったり、増えたコマンドやオプションはあったけど、使いそうなコマンドの機能が劣ることはなさそう。

  6. コントロールパネル > プログラムと機能 では「Slik Subversion 1.6.12 (x86)」

リポジトリ統合テスト

肝心の懸案事項がクリアできるか。

  1. Windowsで新規フォルダを作成、「wpextendRepos」にリネーム。
  2. 右クリックして、TortoiseSVN – ここにリポジトリを作成
  3. コマンドプロンプトで

    C:\Users\bono>svnadmin dump H:\Develop\svn\wp\ps_modified_info > ps_modified_info.proj
    * リビジョン 0 をダンプしました。
    * リビジョン 1 をダンプしました。
    * リビジョン 2 をダンプしました。
    
    C:\Users\bono>svn mkdir file:///H:/Develop/svn/wpextendRepos/ps_modified_info -m "make directory to merge repositories"
    
    リビジョン 1 をコミットしました。
    
    C:\Users\bono>svnadmin load H:\Develop\svn\wpextendRepos --parent-dir ps_modified_info < ps_modified_info.proj
    <<< オリジナルのリビジョン 1 に基づき、新しいトランザクションを開始しました
         * パスを追加しています : ps_modified_info/branches ... 完了しました。
         * パスを追加しています : ps_modified_info/tags ... 完了しました。
         * パスを追加しています : ps_modified_info/trunk ... 完了しました。
         * パスを追加しています : ps_modified_info/trunk/ps_modified_info.php ... 完了しました。
    
    ------- 新しいリビジョン 2 を (オリジナルのリビジョン 1 からロードして) コミットしました >>>
    
    <<< オリジナルのリビジョン 2 に基づき、新しいトランザクションを開始しました
         * パスを追加しています : ps_modified_info/tags/wp233_080823 ...COPIED... 完了しました。
    
    ------- 新しいリビジョン 3 を (オリジナルのリビジョン 2 からロードして) コミットしました >>>
    
    
    C:\Users\bono>
    
  4. 右クリックして TortoiseSVN – リポジトリブラウザ で見てみると、ちゃんと取り込まれてるー!ファイルの中身もok。
    やほーい!ヽ(・∀・)人(・∀・)ノ

次号、いよいよリポジトリの統合、本番です。

付録: svnadmin ヘルプ

C:\Users\bono>svnadmin --version
svnadmin, バージョン 1.6.12 (SlikSvn/1.6.12) WIN32
   コンパイル日時: Jun 22 2010, 20:45:29

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

以下のリポジトリバックエンド (FS) モジュールが利用できます:

* fs_base : Berkeley DB リポジトリを扱うためのモジュール。
* fs_fs : プレインファイル (FSFS) リポジトリを扱うためのモジュール。


C:\Users\bono>svnadmin help
一般的な使用方法: svnadmin <サブコマンド> <リポジトリパス> \
                           [<引数やオプション> ...]
特定のサブコマンドに関するヘルプを読みたいときは 'svnadmin help <サブコマンド>'と打ってください。
プログラムのバージョンや FS モジュールを参照するには 'svnadmin --version' と打ってください。

利用可能なサブコマンド:
   crashtest
   create
   deltify
   dump
   help (?, h)
   hotcopy
   list-dblogs
   list-unused-dblogs
   load
   lslocks
   lstxns
   pack
   recover
   rmlocks
   rmtxns
   setlog
   setrevprop
   setuuid
   upgrade
   verify


C:\Users\bono>svnadmin help dump
dump: usage: svnadmin dump REPOS_PATH [-r LOWER[:UPPER] [--incremental]]

Dump the contents of filesystem to stdout in a 'dumpfile' portable format, sending feedback to stderr.  Dump revisions LOWER rev through UPPER rev.  If no revisions are given, dump all revision trees.  If only LOWER is given, dump that one revision tree.
If --incremental is passed, the first revision dumped will describe only the paths changed in that revision; otherwise it will describe every path present in the repository as of that revision.  (In either case, the second and subsequent revisions, if any, describe only paths changed in those revisions.)

有効なオプション:
  -r [--revision] <ARG>    : リビジョン番号を <ARG> (または範囲 X:Y) と指定します
  --incremental            : 増分のみをダンプします
  --deltas                 : ダンプの出力として差分を用います
  -q [--quiet]             : 標準エラー出力に (エラー以外の) 進行状況を出力しません


C:\Users\bono>svnadmin help load
load: 使用方法: svnadmin load <リポジトリパス>

「ダンプファイル」形式のストリームを標準入力から読み、リポジトリのファイルシステムに新しいリビジョンとしてコミットします。リポジトリがそれまで空だった場合、その UUID はデフォルトではストリーム中で指定されたものに変更されます。進行状況のフィードバックは標準出力に送られます。

有効なオプション:
  -q [--quiet]             : 標準エラー出力に (エラー以外の) 進行状況を出力しません
  --ignore-uuid            : ストリーム中にリポジトリ UUID があっても無視します
  --force-uuid             : ストリーム中に UUID があればリポジトリに設定します
  --use-pre-commit-hook    : リビジョンをコミットする前に pre-commit フックを呼び出します
  --use-post-commit-hook   : リビジョンをコミットした後に post-commit フックを呼び出します
  --parent-dir <ARG>       : リポジトリ内の指定したディレクトリでロードします


C:\Users\bono>svnadmin help create
create: 使用方法: svnadmin create <リポジトリパス>

空のリポジトリを <リポジトリパス> に新規に作成します。

有効なオプション:
  --bdb-txn-nosync         : トランザクションコミット時の fsync を無効にします [Berkeley DB]
  --bdb-log-keep           : ログファイルの自動削除を無効にします [Berkeley DB]
  --config-dir <ARG>       : ディレクトリ <ARG> からユーザ設定ファイルを読み込みます
  --fs-type <ARG>          : リポジトリ形式: 'fsfs' (デフォルト) または 'bdb'
  --pre-1.4-compatible     : Subversion バージョン 1.4 以前と互換性のある形式を使用します
  --pre-1.5-compatible     : Subversion バージョン 1.5 以前と互換性のある形式を使用します
  --pre-1.6-compatible     : use format compatible with Subversion versions earlier than 1.6


C:\Users\bono>svnadmin help upgrade
upgrade: 使用方法: svnadmin upgrade <リポジトリパス>

<リポジトリパス> にあるリポジトリを、サポートされている最新のスキーマバージョンにアップグレードします。

この機能は、リポジトリ全体のダンプやロードという、高負荷になる可能性がある操作を行わずに、新しい Subversion の機能を利用できるようにするもので、そのようなことを望むリポジトリ管理者の利便性のために提供されています。そのため、アップグレードでは、リポジトリの完全性を維持しながら目的を実現するのに必要となる最小量の作業しか行われません。ダンプしたデータをロードすることで達成されるような、最も最適化されたリポジトリ状態になることは、保証されてはいません。

C:\Users\bono>

  1. 後でWikipediaを見たら2009年11月7日にApache Incubatorプロジェクトのひとつとなった。って書いてあったー。ありがとうウィキペディアン。コマンドラインツールのことも教えて~。 

YOU、これも読んじゃないなYO!

コメントをどうぞ

ファイルアップロード

画像やファイルをコメント内に表示できます。ファイルを選ぶと、このサイトのサーバにアップロードされ、コメント欄にリンクが挿入されます。ファイルは複数アップロードできます。

  • あなたのコンピュータ上のファイル名がそのまま使われます。
  • アップロードするファイルを間違えたたときは、URLの行を削除して、ファイル名を教えてください。コメントには表示されません。
  • 他の人の著作物は勝手にアップしちゃダメだよー。


※ XREA無料サーバのため広告表示が義務となっています。お許しを。。