ディレクトリをマージする dirmerge コマンド

					作成    小金丸信幸
					E-Mail: kogane@koganemaru.co.jp
					作成日  平成15年(2003年)07月13日 (日)

1. はじめに
    2つのディレクトリをマージするコマンドはいろいろ存在します。例えば、
    fj.sources に投稿された、"syncdir 1.8 - Synchronize two directorys'
    hierarchies"、
    syncdir.perl(参照 http://namazu.org/~tsuchiya/perl/syncdir.perl)、
    syncdir(参照 http://oikaze.com/~tamada/Products/syncdir/) などです。し
    かし、時間の新しいものだけを残したり、存在しないファイルのみマージする
    などです。

    時間の新しいもののみ残してマージすると、いずれか一方でのみ存在していた、
    時間は古いが重要な変更が失われる可能性があります。

    新しいく作成した、ここで説明する dirmerge コマンドは途中の版のファイル
    も残してディレクトリをマージします。時間順にマージされたファイルは
    .01, .02 または .v01, .v02 というサフィックスを付けてマージされます。
    従って、時間順で途中のファイルなどが失われることがありません。

2. 説明
    2つのディレクトリをマージします。ファイル名の版数は .01, .02, .03 や
    V01, V02, V03 や v01, v02, v03 等のサフィックスが付いているものとしま
    す。-o オプションを指定すれば .Orig, .orig, .org, .old というサフック
    スのあるファイルもマージ対象となります。

    マージ後のファイルはオプションに従って .01, .02 または .V01, .V02 また
    は .v01, .v02 というサフィックスを付けられます。

    2つのディレクトリ下にサブディレクトリがあれば、それらもマージの対象と
    なります。

    内容が同じファイルで、ファイル作成時間が異なる場合は古い時間に合わせま
    す。

3. 使用法
    使用法: dirmerge [-abcv] [-o] dir1 dir2 [dir3]

	-a .01, .02, .03 形式のサフィックスに振り直します。
	-b .V01, .V02, .V03 形式のサフィックスに振り直します。
	-c .v01, .v02, .v03 形式のサフィックスに振り直します。
	-v 処理しているファイル名を表示します。
	-o .Orig, .orig, .org, .old もマージの対象にします。
	dir3 の指定があれば、dir1 と dir2 をマージして dir3 に出力します。
	dir1、dir2 のみなら、dir1 と dir2 をそれぞれ同じになるようにマージ
	します。

3. 制限事項
    シンボリックリンクファイルやデバイスファイルなどレギュラーファイル以外
    はマージの対象になりません。

    シンボリックリンクファイルやデバイスファイルなど、マージ対象となる名前
    に含まれるファイルが存在する場合はマージが誤動作する可能性があります。

    本コマンドを使って重要なファイルが失われるなど、障害が生じても作者は責
    任を負いません。心配な場合は必ずバックアップを取ってから実行してくださ
    い。

4. その他
    本コマンドは最初 C 言語で作成し始めましたが、途中で挫折しました。その
    後 perl を学習し、perl で作成しました。perl は学習したばかりなので、も
    っとこうしたほうがよいなどありましたら、作者まで御連絡ください。

5. 改版履歴
    01 版 作成日  平成15年(2003年)07月13日 (日)

    以上.
--
    Copyright (C) 2003 (有)小金丸コンピュータエンジニアリングサービス
    Copyright (C) 2003, N. Koganemaru