CVS2SVN

CVSリポジトリをSubversionまたはGitに移行するためのツール
今すぐダウンロード

CVS2SVN ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • Freeware
  • 価格:
  • FREE
  • 出版社名:
  • The cvs2svn Team
  • 出版社のWebサイト:
  • http://cvs2svn.tigris.org/
  • オペレーティングシステム:
  • Mac OS X
  • ファイルサイズ:
  • 468 KB

CVS2SVN タグ


CVS2SVN 説明

CVSリポジトリをSubversionまたはGitに移行するためのツール CVS2SVNの主な設計目標は100%のデータ保存と堅牢性です。 CVS2SVNは、GCC、FreeBSD、Mozilla、KDE、gnome.cvs2svnを含む、これまでに見た中でも、gnome.cvs2svnを含めたことがあるすべてのCVSリポジトリを変換でき、gnome.cvs2svn推測し、その履歴をターゲットSCMでできるだけ正確に複製します。すべてのリビジョン、ブランチ、タグ、ログメッセージ、作成者名、およびコミット日付が変換されます。 CVS2SVNは、CVSの変更が同時に行われたのかを推測し、これらの変更をターゲットSCMのチェンジセットとしてグループ化されています。 CVS2SVNは、多くのCVS QUIRKを扱い、高度に設定可能です。 "CVS2SVN"の重要な機能は次のとおりです。 情報が失われません: ・CVS2SVNは、CVSリポジトリからの情報を失うことを避けるために一生懸命機能します( - トランク専用または - excludeを使用して部分的な変換を求めない限り)。 チェンジセット: ・CVSは修正をファイルごとに記録し、同じファイルを同時に変更したことを追跡しません。 CVS2SVNは、ファイルの変更時間、ログメッセージ、および依存関係情報などの情報を使用して、元のチェンジセットを推測します。 CVS2SVNでは、複数のブランチおよび/または複数のプロジェクトに影響を与えるチェッサを使用できます(CVSによって許可されているように)、そのようなチェンジセットを別々のコミットに分割するように設定できます(--no-cross-branch-commits;オプションファイルも参照)。 マルチプロジェクトの変換: ・CVS2SVNは、複数のプロジェクトを含むCVSリポジトリを従来のMultiprojectディレクトリレイアウトで単一のSubversionリポジトリに変換できます。詳細については、FAQを参照してください。 ブランチ対タグ: ・CVSでは、同じシンボル名をブランチとして、時にはタグとして使用できます。 CVS2SVNには、そのような「ミックス」シンボル(--symbol-hints、--force-branch、--force-tag、 - symbol-default)を変換する方法を決定するためのオプションとヒューリスティックがあります。 ブランチ/タグ除外: ・CVS2SVNでは、変換完全な( - symbol-hints、 - exclude)から除外するブランチやタグをユーザーに指定できます。それは除外が自己矛盾があることをチェックします(例えば、それから噴出する分岐が除外されない場合は分岐を除外することはできません)。 分岐/タグの名前変更: ・CVS2SVNは、正規表現パターン(--symbol-transform)を使用して、変換中にブランチとタグの名前を変更できます。 Branches / TagsのSVNパスの選択: ・Trunk / Branches / Tagsディレクトリ(--trunk、 - branches、--tags)として使用するSVNパスを選択するか、特定のcvs branches / tags(--symbol -hints)の任意パスを設定できます。たとえば、プロジェクト/タグディレクトリにいくつかのタグを保存することをお勧めしますが、プロジェクト/リリースへのものもあります。 支店とタグの両親: ・多くの場合、CVS履歴はどのブランチが別のブランチまたはタグの親として機能しているかについてはあいまいです。 CVS2SVNは、クロスファイル情報を使用してシンボルに最ももっともらしい親を決定します。 - symbol-hintsオプションを使用して、cvs2svnの選択肢をケースバイケースでオーバーライドできます。 ブランチとタグの作成時間: ・分岐やタグが作成されると、CVSは記録されません。 CVS2SVNは、タグ付けされたファイルのリビジョンと一致し、可能であれば1つのSubversionコミット内でそれぞれを作成しようとします。 MIMEタイプ: ・CVSはファイルのMIMEタイプを記録しません。 CVS2SVNは、合理的なファイルMIMEタイプを選択するためのいくつかのメカニズムを提供します( - マイクルタイプ、 - 自動プロップ)。 バイナリー対テキスト: ・多くのCVSユーザーは、どのファイルがバイナリでありテキストかを体系的に記録しません。 CVS2SVNは、この情報を推測するためのいくつかの方法を提供しています( - eol-from-mime-type、 - default-eol、--keywords-off)。 - 自動車小道具)。 Subversionファイルのプロパティ: ・subversionを使用すると、任意のテキストプロパティをファイルに添付できます。 CVS2SVNは、ファイルが最初にリポジトリ(--Auto-Props)に追加されたときにそのようなプロパティを設定するメカニズム、およびユーザーがPythonコードを介して任意のファイルプロパティを設定できるフックを提供します。 .cvsignoreの取り扱い: ・CVSリポジトリ内の.CVSignoreファイルは、同等のSVNに変換されます。出力内のプロパティを無視します。デフォルトでは、.cvsignoreファイル自体は出力に含まれていません。この現象は、--keep-cvsignoreオプションを指定することで変更できます。 Subversionリポジトリのカスタマイズ: ・CVS2SVNには、結果として得られるSubversionリポジトリの構造をカスタマイズすることを可能にする多くのオプション( - トランプ、 - ranches、--tags、 - symbol-transformなど)があります。追加のカスタマイズも参照してください。 --options-fileメソッドを使用して利用可能なオプション。 複数の文字エンコーディングのサポート: ・CVSは、ファイル名、著者名、およびログメッセージなどのメタ入力を保存するためにどの文字エンコーディングを使用したかを記録しません。 CVS2SVNは、そのようなテキストをUTF-8に変換するのに役立つオプションを提供します( - enconding、--fallback-encoding)。 ベンダーの枝: ・CVSは「ベンダーの枝」をサポートしています。これは(状況下で)主要な開発行の内容に影響を与えます。 CVS2SVNは可能な限りベンダーのブランチを検出し、それらをインテリジェントに処理します。例えば、 ・CVS2SVNは、トランクのチェックアウトがCVSの下でSVNの下で同じ結果を与えるようにベンダーブランチのリビジョンをトランクに戻します。 ・変換からベンダーブランチを除外する場合、CVS2SVNは、トランクの内容がCVSと同じであるように、関連するベンダーブランチのリビジョンをトランクに移植します。他のタグやブランチがこれらのリビジョンからもやしている場合、それらはトランクにも移植されます。 ・ファイルをCVSにインポートすると、CVSは同じ内容で2つのリビジョン(「1.1」、「1.1.1.1」)を作成します。 CVS2SVNは、そのような場合に冗長「1.1」の改訂を破棄します(リビジョン「1.1.1.1」はとにかくトランクにコピーされます)。 ・「CVSインポート」を使用して自分のソースをCVSリポジトリにインポートすることで、ベンダーブランチを不必要に作成することがよくあります。このようなベンダーのブランチには便利な情報が含まれていませんので、デフォルトではCVS2SVNは単一のインポートにのみ使用されたベンダーブランチを除外します。 --keep-trivial-importsオプションを指定して、このデフォルトの動作を変更できます。 CVS QUIRKS: ・CVS2SVNは、CVSの多くの癖に対処するために長さに行きます。例えば、 ・CVSは、ブランチにファイルが追加されたときにスプリアスの「1.1」の修正を紹介します。 CVS2SVNこれらのリビジョンを破棄します。 ・ブランチにファイルが追加されている場合、CVSはブランチの先頭にスプリアスの「デッド」リビジョンを導入し、ブランチが作成されたときにファイルが存在しないことを示します。 CVS2SVNはこれらのスプリアスリビジョンを削除し、正しい時点でブランチにファイルを追加します。 リポジトリの破損に対する堅牢性: CVS2SVNは、頻繁に報告されているいくつかの種類のCVSリポジトリ破損を処理する方法を知っており、その他の場合には有益なエラーメッセージを表示します。 ・ "attic"ディレクトリの内外に存在するRCSファイル。 ・単一のCVSファイルのリビジョンのための複数のdeltatextブロック。 ・同じCVSファイルのリビジョンのための複数のリビジョンヘッダ。 ・存在しないリビジョンまたはILL形成されたリビジョン番号を参照するタグとブランチ。 ・シンボル名の繰り返し定義同じリビジョン番号への定義。 ・ラベルが関連付けられていないブランチ。 ・ファイル名と競合するディレクトリ名(屋根裏部屋内または屋外)。 ・禁止文字を含むファイル名。 タイムスタンプエラー修正: ・リポジトリの履歴の一部の間に、サーバーのクロックが正しく設定されているため、多くのCVSリポジトリにタイムスタンプエラーが含まれています。 CVS2SVNの履歴再構成は、タイムスタンプエラーに対して比較的堅牢であり、それはSubversionリポジトリに単調タイムスタンプを書き込みます。 スケーラブル: ・CVS2SVNは、妥当な量のRAMを使用して非常に大きなCVSリポジトリを変換できるように、ほとんどの中間データをオンディスクデータベースに格納します。変換は複数のパスとして編成され、問題の場合は任意のパスで再起動することができます。 Pythonを使用して設定可能/拡張可能: ・文書化されたインタフェースを介してCVS2SVNと対話するPythonプラグインを使用して、変換の多くの側面をカスタマイズできます(--options)。


CVS2SVN 関連ソフトウェア