問題タブ [cvs2git]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - cvs2gitがCVSツリーをどのように変換したかを判断する
個々のCVSプロジェクトを含む8年前のCVSマスターツリーを正常に変換してgitにインポートしました。私はcvs2git変換が個々のCVSリポジトリに何をしたかを理解しようとしています。
幸い、私はまだマスターCVSツリーを持っていて、何もデプロイしていないので、これを再度実行できます。変換したものを調べることができるgitコマンドを探しているので、各CVSリポジトリを個別に変換する必要があるかどうかを判断できます。
git - 複数のCVSディレクトリを処理するようにcvs2gitをどのように構成しますか?
この質問は、最近のgitSOの投稿に関連しています。
シェルスクリプトを書く以外に、複数のCVSプロジェクトがあるLinuxディレクトリSRC_TREEを読み取るようにcv2gitを構成する方法がよくわかりません。任意のポインタをいただければ幸いです。
この取り組みに向けた取り組みを示すために、最近の投稿を提供しています。私は最初に試したことがなければ尋ねていません。
ありがとうございました。
git - cvs2gitはCVSリポジトリから何を必要としますか?
私は大きなCVSリポジトリ(〜30 GB)を持っていますが、cvs2git
それを使用して単一のモジュールを変換するには、必要なのは次のようです。
- CVSROOTディレクトリ
- モジュールのディレクトリ
もちろん、モジュールのディレクトリは、元のリポジトリと同じ相対的な場所にある必要があります。
別のボックスで変換作業を行う必要があるため、これに興味があります。必要がない場合は、リポジトリ全体をコピーしたくありません。
最初の質問はcvs2git
、単一のモジュールを変換するために必要なのはこれだけですか?
2番目の質問は次cvs2git
のとおりです。CVSROOTディレクトリから正確に何が必要ですか?何年にもわたって、CVSROOTディレクトリには多くの問題が蓄積されており(現在は約2 GBになっています)、必要なファイルのみをコピーしたいと思います。
git - 2 つの完全に異なる git ツリーで共通のコミットを見つける
次のスクリプトは、2 つのブランチの最新の共通コミットを見つけようとします。コミットは、同じ件名、同じ作成者、および作成日を持つ必要があります。ただし、コミット日とハッシュは異なります。このため、git rebase
このブランチを自動的に見つけることができません。
質問:この解決策は私にはあまり良くありません。この問題を実装する方法を知っている人はいますか、それとも解決策は既にありますか?
背景:ツールcvs2gitを使用して、CVS から GIT への増分インポートを実装しようとしています。正式には、増分インポートをサポートしていませんが、この回避策に似た解決策を見つけました。唯一の問題:単純なgit rebase
. ブランチが一致しないため (git2svn の性質上、ハッシュとコミットの日付が異なります)、詳細な参照 (一般的なコミット) なしで使用すると、必要以上のコミットを書き換えることがよくあります。上記のスクリプトのすぐに実行できるテスト シナリオについては、これを確認してください。
git - cvs2git は移行ステータスをどこに記録しますか?
cvs2git (cvs2svn 2.4.0 ツールの一部) を使用して、大きな CVS リポジトリを Git に移行しようとしています。したがって、各プロジェクトを個別に移行します。各移行にかかる時間は依然として非常に長いです。移行自体は、ssh 経由で接続しているリモート サーバー上で進行します。問題は、移行プロセスの終了を待たずにリモート サーバーから切断した場合、移行が成功したかどうかわからないことです。
cvs2git/cvs2svn は移行ステータスとエラー メッセージを特定のファイルに記録しますか? - cvs2svn フォルダーと /var/log で既に検索しました...
git - cvs2git を介してクロス プロジェクト ブランチを移行するにはどうすればよいですか?
古い cvs リポジトリを git に移行しています。したがって、各プロジェクトを個別に移行しようとしています。しかし、いくつかのプロジェクトを参照するブランチとタグがあります。どうすればこれを処理できますか?
cvs リポジトリ全体の移行が唯一のチャンスですか? - すべてのブランチとタグを正しい方法で移行するには?
cvs2git の OPTION-FILE 内にいくつかの設定オプションを見つけました:
*CVS では、複数のプロジェクトまたは単一プロジェクトの複数のブランチに影響を与える単一のコミットを行うことが完全に可能です。Subversion では、このようなコミットも許可されています。したがって、デフォルトでは、cvs2git がクロス プロジェクトまたはクロス ブランチの CVS コミットのように見えるものを検出すると、それをクロス プロジェクト/クロス ブランチの Subversion コミットに変換します。ただし、他のツールや SCM では、クロス プロジェクトまたはクロス ブランチのコミットを表すのに問題があります。(たとえば、Trac の Revtree プラグイン、http: //www.trac-hacks.org/wiki/RevtreePluginそのため、プロジェクト間/ブランチ間コミットを抑制できるように、次の 2 つのオプションを提供しています。cvs2git は、単一プロジェクトの変換のみをサポートします (複数プロジェクトの変換は、とにかく git では意味がありません)。したがって、このオプションは False に設定する必要があります: ctx.cross_project_commits = False git 自体は複数のブランチに影響するコミットを許可しないため、このオプションを False に設定する必要があります: ctx.cross_branch_commits = False'*
この抑制はどのように機能しますか? 両方のパラメーターを true に設定するとどうなりますか?
git - cvs2git がまだ実行されているかどうかを確認するにはどうすればよいですか?
私は cvs2svn (cvs2git) で 4 日間、cvs から git への移行を開始しました。私のリポジトリのサイズは 12 GB で、まだパス 7 です。
したがって、パス1〜6は約かかりました。49,6 時間とパス 7 は、エラー メッセージなしで 48 時間進行中です。何かが起こったのか、電話が切れたのかわかりません。
これは cvs2git の通常の動作ですか? 私に何ができる?すべてが正常かどうかを確認する可能性はありますか?
memory - この cvs2git のメモリ エラーは何を意味するのでしょうか?
非常に大きな cvs リポジトリ (12GB) を cvs2git で git に移行しようとしています。これにより、パス 10 で次のエラーが発生します。
ここに私のメモリ統計があります: MemTotal: 4017036 kB MemFree: 1830728 kB
どうすればこれを修正できますか?