質問

1つのファイルの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が1.1から1.12までの12のバージョンを表示するように、組み合わせた履歴を作成しようとしています。 CVSはRCSと同じファイル形式でリビジョンを保存するため、既存のRCSファイルから始めて、「ci」で新しい変更をチェックインするだけの簡単なことです。コマンド(タイムスタンプ、ユーザーID、およびコミットメッセージを保持)。 CVSタグも保存する必要があります。この新しいRCSファイルには完全な履歴があり、CVSリポジトリに追加して古いバージョンを置き換えることができます。

このコードベースにはブランチがないと仮定します。直線的な開発です。

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

役に立ちましたか?

解決

Pythonライブラリ EditRCS PyPi )、RCSファイルを操作します。サンプルスクリプトrcs_joinは、あるRCSファイルの最初のリビジョンを別のRCSファイルの先頭に結合し、ブランチとタグのリビジョンを更新します。

願わくばそれでうまく行けることを願っています(おそらく今では遅すぎるかもしれませんが!)

他のヒント

単一のファイルで多数のリビジョンを転送する必要がない場合は、古いバージョン管理システムから一度に1つのリビジョンをチェックアウトして、新しいバージョン管理システムでコミットできます(ほとんどのバージョン管理システムのメタデータは、 -同じディレクトリに存在する)…もちろん、この方法は、ソースとデスティネーションのバージョン管理システムが何であれ、それは私があなたと似た問題を抱えたときに個人的にやったことです。

または Tailor ツールを試すこともできます。これは、多くのバージョン管理システムとの間で変換できます。それが"マージ"することができるかどうか、私は本当に知りません。必要に応じて、2つの異なる履歴を1つにまとめます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top