これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks の無料ホスティング プロバイダーで実行できるコマンド git-cvsexportcommit です。
プログラム:
NAME
git-cvsexportcommit - 単一のコミットを CVS チェックアウトにエクスポートする
SYNOPSIS
git cvsexportcommit [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d cvsroot]
[-w cvsworkdir] [-W] [-f] [-m msgprefix] [PARENTCOMMIT] コミットID
DESCRIPTION
Git から CVS チェックアウトにコミットをエクスポートし、Git からパッチをマージしやすくします。
リポジトリを CVS リポジトリに変換します。
-w スイッチを使用して CVS チェックアウトの名前を指定するか、CVS チェックアウトのルートから実行します。
CVS の作業コピー。 後者の場合、GIT_DIR を定義する必要があります。 以下の例を参照してください。
安全なことを行うために最善を尽くし、ファイルが変更されていないことを確認します。
CVS チェックアウトの日付までのデータが保存されており、デフォルトでは自動コミットされません。
バイナリ ファイルに影響を与えるファイルの追加、削除、コミットをサポートします。
コミットがマージコミットの場合は、次のように伝える必要があります。 git cvsexportcommit どの親ですか
チェンジセットに対して実行する必要があります。
OPTIONS
-c
パッチが正しく適用された場合は、自動的にコミットされます。 ハンクがある場合はコミットされません
適用できなかったか、他の問題が発生しました。
-p
パッチを適用するときは、衒学的に(偏執的になって)ください。 --fuzz=0 でパッチを呼び出します
-a
著者情報を追加します。 作成者行とコミッター (作成者と異なる場合) を追加します。
メッセージに。
-d
使用する代替 CVSROOT を設定します。 これは、CVS -d パラメータに対応します。 いつもの
CVS を非対称方式で使用する場合を除き、ユーザーはこれを設定したくないでしょう。
-f
ファイルが最新でない場合でも、マージを強制します。
-P
直接の親でない場合でも、親のコミットを強制します。
-m
指定されたプレフィックスをコミット メッセージの先頭に追加します。 パッチシリーズや
好きです。
-u
エクスポートを試行する前に、影響を受けるファイルを CVS リポジトリから更新してください。
-k
作業中の CVS キーワードの逆展開 (例: $Revision: 1.2.3.4$ が $Revision$ になる)
パッチ適用前の CVS チェックアウト。
-w
エクスポートに使用する CVS チェックアウトの場所を指定します。 このオプションでは、
現在のディレクトリが Git 内にある場合は、実行前に GIT_DIR を設定する必要がある
リポジトリ。 デフォルトは次の値です。 cvsexportcommit.cvsdir.
-W
現在の作業ディレクトリが単なる Git チェックアウトではないことを cvsexportcommit に伝えます。
CVS チェックアウトも同様です。 したがって、Git は作業ディレクトリを次の場所にリセットします。
続行する前に親コミットしてください。
-v
詳細。
CONFIGURATION
cvsexportcommit.cvsdir
エクスポートに使用する CVS チェックアウトのデフォルトの場所。
例
XNUMX つのパッチを CVS にマージする
$ エクスポート GIT_DIR=~/プロジェクト/.git
$ cd ~/project_cvs_checkout
$ git cvsexportcommit -v
$ cvs commit -F .msg
XNUMX つのパッチを CVS にマージします (-c および -w オプション)。 作業ディレクトリは Git リポジトリ内にあります
$ git cvsexportcommit -v -c -w ~/project_cvs_checkout
保留中のパッチを自動的に CVS にマージします - 自分が何をしようとしているのかを本当に理解している場合のみ
$ エクスポート GIT_DIR=~/プロジェクト/.git
$ cd ~/project_cvs_checkout
$ git Cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v
GIT
の一部 git(1)スイート
onworks.net サービスを使用してオンラインで git-cvsexportcommit を使用する