Git
日本語 ▾ トピック ▾ 最新バージョン ▾ git-cvsexportcommit は 2.35.0 で最終更新されました

名前

git-cvsexportcommit - 単一のコミットをCVSチェックアウトにエクスポートする

書式

git cvsexportcommit [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d <cvsroot>]
	[-w <cvs-workdir>] [-W] [-f] [-m <msgprefix>] [<parent-commit>] <commit-id>

説明

GitからCVSチェックアウトにコミットをエクスポートすることで、GitリポジトリからのパッチをCVSリポジトリにマージしやすくします。

-w スイッチを使用してCVSチェックアウトの名前を指定するか、CVS作業コピーのルートから実行します。後者の場合、GIT_DIRが定義されている必要があります。以下の例を参照してください。

安全な方法で処理するために最善を尽くします。ファイルが変更されておらず、CVSチェックアウトで最新の状態であることを確認し、デフォルトでは自動コミットしません。

ファイルの追加、削除、およびバイナリファイルに影響を与えるコミットをサポートします。

コミットがマージコミットの場合、変更セットをどの親に対して行うべきかを *git cvsexportcommit* に指示する必要があります。

オプション

-c

パッチが正常に適用された場合、自動的にコミットします。ハンクの適用に失敗した場合、またはその他の問題が発生した場合はコミットしません。

-p

パッチを適用するときは、厳密(パラノイド)にします。 --fuzz=0 でパッチを呼び出します

-a

作者情報を追加します。作者行と、コミッター(作者と異なる場合)をメッセージに追加します。

-d

使用する代替CVSROOTを設定します。これはCVSの-dパラメータに対応します。通常、ユーザーは非対称的にCVSを使用する場合を除いて、これを設定する必要はありません。

-f

ファイルが最新の状態ではなくても、マージを強制します。

-P

直接の親でなくても、親コミットを強制します。

-m

コミットメッセージの先頭に指定されたプレフィックスを追加します。パッチシリーズなどに役立ちます。

-u

エクスポートを試みる前に、CVSリポジトリから影響を受けるファイルを更新します。

-k

パッチを適用する前に、作業中のCVSチェックアウトでCVSキーワード展開を反転します(例:$Revision: 1.2.3.4$は$Revision$になります)。

-w

エクスポートに使用するCVSチェックアウトの場所を指定します。現在のディレクトリがGitリポジトリ内にある場合、このオプションは実行前にGIT_DIRを設定する必要はありません。デフォルトは *cvsexportcommit.cvsdir* の値です。

-W

現在の作業ディレクトリがGitチェックアウトであるだけでなく、CVSチェックアウトでもあることをcvsexportcommitに伝えます。したがって、Gitは続行する前に作業ディレクトリを親コミットにリセットします。

-v

詳細表示。

設定

cvsexportcommit.cvsdir

エクスポートに使用するCVSチェックアウトのデフォルトの場所。

1つのパッチをCVSにマージする
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git cvsexportcommit -v <commit-sha1>
$ cvs commit -F .msg <files>
1つのパッチをCVSにマージする(-cおよび-wオプション)。作業ディレクトリはGitリポジトリ内にあります
	$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
保留中のパッチをCVSに自動的にマージする - あなたが本当に何をしているかを知っている場合のみ
$ export GIT_DIR=~/project/.git
$ cd ~/project_cvs_checkout
$ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v

GIT

git[1] スイートの一部

scroll-to-top