Subversionのデータ移行

仕事でSubversion(以下SVN)を使用しています。
SVNサーバとして自分のPCを使用していたのですが、
PCのリースが終了となり、新しいPCにSVNのデータを移行することになりました。
リポジトリを移行するということ)。


方法としては何通りかあるようですが、
私が試したのは以下の2通りです。

1.svnadmin.exeの dumpコマンドを使用する方法
2.svnadmin.exeの hotcopyコマンドを使用する方法

1.の場合は、dumpコマンドを使用してdumpファイルを作成し、
loadコマンドを使用することによって、
新しいPCにリポジトリを復元します。
実際に試してみたところ、エラーが発生することなくできましたが、
TortoiseSVNリポジトリを確認したところ、
いくつかファイルが存在していませんでした。
(データの移行に失敗していた!!!)
dump, loadの時に特にエラーは発生していないようでしたが、
正常にリポジトリを復元することはできませんでした。
3回試して見ましたが3回とも同じ結果でした。


2.の場合はリポジトリのファイルコピーを安全に行うようです。
新しいPCにリポジトリを作成し、
そこにコピーされたものを上書きすることで復元することができました。
こちらはTortoiseSVNで確認したところ問題ありませんでした。


まとめ

・dumpコマンドは失敗することがあるため,hotcopyを使用した方が良い。

とうとう仕事でVisualStudio2005(以下VS2005)でSVNを使用したバージョン管理を行うことになりました。
ツールとしては

Subversion(いわずとしれたサーバソフトですね。)
TortoiseSVNエクスプローラでのSVNクライアントソフト)
AnkhSVN(VS2005でのSVNクライアントソフト。)
WinMerge(ファイル比較ソフト、AnkhSVN、TortoiseSVNで使用している比較ソフトが使用しずらいため、WinMergeを代替として使用)
の4つを使用しています。


以下使用した感想。
AnkhSVNではVS2005からソースのCommitとリポジトリの最新のソースに戻すといったことは
一つの操作で、簡単に当然できましたが、

「戻したいファイルのリビジョンNoも」、
「そのソースに対しての何回目のCommitなのか」

の両方とも分からない場合のソースを戻す操作が面倒だったと思いました。
例えば、test.csというソースファイルに対して、
最新のリポジトリから2回前のソースに戻すといった場合は、

1.test.csを右クリック「Ankh」⇒「Log」から2回目にコミットしたリビジョンNoを取得。
2.test.csを右クリック「Ankh」⇒「Revert to Revision」を選択し、
  表示されたダイアログのコンボボックスに、1で確認したリビジョンNoを入力しOKを選択する。

といった操作で、これは問題ありませんが、
リビジョンもCommitした回数も分からない場合は、
まず戻したい地点のソースのリビジョンNoを確認する必要があります。
その場合、最新のものから1つずつ確認する必要がありますが、
その確認操作が上の1.で行ったリビジョンNoの一覧を取得時にはできないんですよね。
TortoiseSVNなら、「ログを表示」とした後に表示された画面から「差分を表示」とできるのですが、
AnkhSVNではそれを同じことができない(できる場合はご指摘下さい)
そのため、そういった場合にはTortoiseSVNを使用して戻した方が良さそうです。


大抵は一つ前のリビジョンに戻すでこと足りると思うので大丈夫かな。
ただし、VisualStudioと一番相性がいいのはVisualSourceSafeだと思いますので、
お金があるならVSSを使用した方が良いと思います。

仮想プリンタ
FinePrint
http://www.nsd.co.jp/share/fineprint/

プログラムで印字を行うときによく使用するツールです。
いちいち紙で確認していると紙代が・・・。というときに、
これを使用すれば紙代の節約と、印字時間の節約ができます。
これで大体のイメージの確認はできるので、
FinePrintで印字できることを確認して
最後に実際のプリンタで紙のイメージの確認をするようにしています。
シェアウェアですが、フリー版を以下でダウンロードできます。
http://fineprint-5-75.jp.brothersoft.com/

縮小更新

最近、仕事が忙しくなってきたため更新していないですね。
仕事ではプロセス間通信やマルチスレッド処理等、
今までやったことがないことをしているため、それで分かったことを後日まとめたいと思います。
あまりにも放置したくもないので、便利なツールの紹介でも・・・。

仕様書も適当で、設計書もない仕事を引き継いでしまいました。

その名のとおりソースのみでドキュメントが一切ない。
基本設計書も詳細設計書もデータベース設計書も。
引継ぎ期間は忙しくて実質2,3日のみ。
当然、アプリケーションの作りの部分については全然引き継げませんでした。
悲惨だ。