これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド cvsconvert です。
プログラム:
NAME
cvsconvert - Git 変換を実行し、CVS のオリジナルに対してテストします
SYNOPSIS
cvsconvert [-v] [-n] [-p] [-k expandspec] [レポ | レポ/モジュール]
DESCRIPTION
cvsconvert は、CVS リポジトリの Git への変換を実行し、ツリーの内容をチェックします
すべてのブランチのヒントとタグで、履歴が同じであることを確認します。
(例外: 収集するために作成された *-UNNAMED-BRANCH という名前の合成 gitspace ブランチ
ホームレス CVS コミットはチェックされません。 これらのいずれかが存在する場合、警告が表示されます。
スキップしました。)
単一の引数は、CVS リポジトリまたはモジュールを含むディレクトリへのパスでなければなりません。
それが CVS の最上位ディレクトリであり、そのモジュールの下にモジュールが XNUMX つしかない場合
指定しないでください。
Git 変換は、repo 引数にちなんで名付けられたディレクトリに残され、サフィックスは
"-ギット"。
通常の動作は、プログラムが各ブランチとタグについて報告し、「ツリーが一致する」と報告することです。
問題レポートには次の XNUMX 種類があります。
"ファイル 目録 しない マッチ": このリビジョンの CVS および Git バージョンが
履歴には、互いにペアにならないファイル名がいくつか含まれています。 (Git と CVS
ignore-pattern ファイルは無視されるため、このメッセージはトリガーされません。)
が発生した場合でも、共通のファイルが等しいかどうかがチェックされます。
"%NS および %s 違う": 対応する XNUMX つの CVS ファイルと Git ファイルが等しくありません。 あ
差分リストが続きます。
トラブルシューティング
重大ではない変換の不具合には XNUMX 種類あります。
マスターの拡張キーワード フィールド、および CVS でのみ発生するファイルの削除
タグに関連付けられた gitspace マニフェスト。
キーワードの拡張によるコンテンツの不一致を簡単に見つけることができます。 彼らは生産します
キーワード テキストをドル記号で囲んだ行の単一行差分。 なぜなら
バイナリ ファイルは、キーワード展開によって破損する可能性があります。デフォルトでは、cvs-fast-export が動作します。
cvs -kb モードと同様で、独自のキーワード展開は行いません。 したがって、 決して
そのような 不一致 -k オプションを渡さない限り。
ただし、(a) CVS マスターに
拡張されたキーワード フィールドを手動でクリーンアップしたくない (b) 自信がある
リポジトリには、RCS/CVS キーワードと誤一致する可能性のあるバイナリ ファイルが含まれていません。 もし、あんたが
(b) コンテンツの不一致に関する警告メッセージが表示されます
バイナリファイルで。
タグのマニフェストの不一致は、CVS で削除されたファイルで発生する可能性が最も高い
ただし、Git 変換の後のタグの下に保持されます。 これは何が起こっているのかに賭けることができます
CVS リポジトリでパス名を検索すると、屋根裏部屋で見つかった場合
ディレクトリにあります。
これらの誤ったレポートが発生するのは、CVS が常に十分な情報を保持しているとは限らないためです。
削除を確実に追跡し、「デッド」状態のリビジョンの処理がやや不安定です。
CVS と git リポジトリを完全に一致させるには、add delete fileops を使用して、
変換 - または、より可能性が高いのは、既存のものをブランチに沿ってコミットに戻すことです。
gitspace タグより前のもの - を使用 再建外科医とします。
反対方向のマニフェストの不一致 (CVS に存在し、gitspace には存在しない) は、
発生することはありません。 もしそうなら、バグレポートを提出してください。
他の種類のコンテンツまたはマニフェストの一致 (特にマスター ブランチの一致) は、
悪いニュースであり、重大なリポジトリの不正または cvs-fast-export のバグを示しています
(または両方)。 そのような状況は、バグとして報告する必要があります。
変換バグは、古いブランチまたはタグで不均衡に発生する可能性があります。
CVS が信頼できる commitid を持つ前に。 多くの場合、最も効率的な解決策は単に削除することです
ジャンク ブランチとタグ。 再建外科医(1) これを簡単に行うことができます。
バグを報告する必要がある場合は、プロジェクトの Web サイトにアクセスして、
バグ報告手順。 レポートを作成する際にできる具体的な事項があります。
問題の迅速な解決の可能性を高めます。
OPTIONS
-p
実行中の cvs-fast-export からの進捗レポートを有効にします。
-k
キーワード展開仕様をに渡す cvs-高速エクスポート(1)と CVSとします。
-n
テストのみ。診断の発行後に Git 変換を保持しません。
-v
詳細。 実行中のサブコマンドと、さまざまなデバッグ メッセージを表示します。
-q
cvs-fast-export を静かに実行するように指示します。
制限
このプログラムは、Git にとって合法ではない CVS タグ名を使用する必要がある場合、適切に対処しません。
変換中にサニタイズされます。
このプログラムは、CVSROOT ディレクトリに対する CVS の要件を回避する方法のために、
その場合、リポジトリディレクトリに対するディレクトリ書き込み権限が必要です-
そうしないと、「リポジトリ内のディレクトリ ロックの取得に失敗しました」という CVS メッセージの後に中止されます。 の
リポジトリの内容は変更されません。
リポジトリに読み取り専用でアクセスするには、プログラムに cvs -R オプションが必要です。 したがって、
このオプションがない 1.12.1 (2005) より古いバージョンの GNU CVS では失敗します。
報告 バグ
Eric S. Raymond にバグを報告する[メール保護]>。 プロジェクトページは次のとおりです
http://catb.org/~esr/cvs-fast-export
onworks.net サービスを使用してオンラインで cvsconvert を使用する