2009-08-03 4 views
-2

私は1つのファイルに対して2つのリビジョン履歴を結合する方法を探しています。CVS(またはRCS)に履歴の2つのバージョンを結合しますか?

私たちのプロジェクトの1つはRCSによって追跡されました。さて、このプロジェクトはCVSに収められています。当初は新しいプロジェクトとしてコミットされました。その結果、CVS履歴にはRCS経由で追跡された古いバージョンは表示されません。

たとえば、ファイルfoo.cがRCSで10回、CVSで2回修正されたとします。 RCSのバージョンは1.1から1.10まで、CVSのバージョンは1.1,1.2、および1.3です。 RCSバージョン1.10とCVSバージョン1.1は同一です。

私は、foo.cが12のバージョン、1.1から1.12までのような組み合わせの履歴を作成しようとしています。 CVSはRCSと同じファイル形式でリビジョンを保存するので、既存のRCSファイルから始め、 "ci"コマンドで新しい変更をチェックインする(タイムスタンプ、ユーザーID、コミットメッセージを保持する) 。どんなCVSタグも保存する必要があります。この新しいRCSファイルは完全な履歴を持ち、CVSリポジトリに追加することができ、古いバージョンを置き換えることができます。

このコードベースに分岐がないものとします。ちょうど直線開発。

このようなユーティリティプログラムは既に存在しますか?

+1

あなたは答えを待っている間、チェックアウト(それが今では遅すぎる、おそらくですが!):このセクションをCVSのトレーニングマニュアルからhttp://rpmfind.net/tools/CVS/トレーニング/ cvstrain-9.1.html – Pete

答えて

1

私はちょうどPythonライブラリEditRCSPyPi)を書いて、RCSファイルを操作しました。スクリプト例rcs_joinは、1つのRCSファイルの最初のリビジョンを別のRCSファイルの先頭に結合し、ブランチとタグリビジョンを更新します。

何をしたいんうまくいけば

2

多数のリビジョンを転送する必要がない場合は、一度に古いバージョンシステムから1つのリビジョンをチェックアウトし、新しいバージョンシステムでコミットすることができます。同じディレクトリに共存しています)...このメソッドはもちろん、ソースとデスティネーションのバージョニングシステムが何であれ、私があなたのものと似たような問題を抱えていたときに私が個人的にしたものです。

Tailorツールを試してみてください。このツールは多くのバージョン管理システムとの間で変換が可能ですが、必要に応じて2つの異なる履歴を「マージ」できるかどうかはわかりません。

関連する問題