設定與配置
取得與建立專案
基本快照
分支與合併
分享與更新專案
檢查與比較
修補
除錯
電子郵件
外部系統
伺服器管理
指南
管理
底層命令
- 2.35.1 → 2.47.0 無變更
-
2.35.0
01/24/22
- 2.1.4 → 2.34.8 無變更
-
2.0.5
12/17/14
概要
git cvsexportcommit [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d <cvsroot>] [-w <cvs-workdir>] [-W] [-f] [-m <msgprefix>] [<parent-commit>] <commit-id>
描述
將 Git 中的 commit 匯出至 CVS 檢出,使其更容易將來自 Git 儲存庫的修補程式合併到 CVS 儲存庫中。
使用 -w 參數指定 CVS 檢出的名稱,或從 CVS 工作副本的根目錄執行。在後一種情況下,必須定義 GIT_DIR。請參閱以下範例。
它會盡力做到安全,它會檢查 CVS 檢出中的檔案是否未變更且為最新狀態,並且預設不會自動提交。
支援檔案新增、移除和影響二進位檔案的 commit。
如果 commit 是合併 commit,則必須告訴 *git cvsexportcommit* 變更集應針對哪個父系進行。
選項
- -c
-
如果修補程式順利套用,則自動提交。如果任何程式碼塊無法套用或有其他問題,則不會提交。
- -p
-
在套用修補程式時要吹毛求疵(偏執)。使用 --fuzz=0 叫用 patch。
- -a
-
新增作者資訊。將作者行和提交者(如果與作者不同)新增至訊息。
- -d
-
設定要使用的替代 CVSROOT。這對應於 CVS -d 參數。通常,使用者不會想要設定此參數,除非以不對稱方式使用 CVS。
- -f
-
即使檔案不是最新狀態,仍強制合併。
- -P
-
強制父系 commit,即使它不是直接的父系。
- -m
-
在 commit 訊息前面加上提供的字首。適用於修補程式系列等。
- -u
-
在嘗試匯出之前,從 CVS 儲存庫更新受影響的檔案。
- -k
-
在套用修補程式之前,反轉工作 CVS 檢出中的 CVS 關鍵字展開(例如,$Revision: 1.2.3.4$ 變成 $Revision$)。
- -w
-
指定要用於匯出的 CVS 檢出位置。如果目前目錄位於 Git 儲存庫中,則此選項不需要在執行之前設定 GIT_DIR。預設值為 *cvsexportcommit.cvsdir*。
- -W
-
告訴 cvsexportcommit 目前的工作目錄不僅是 Git 檢出,也是 CVS 檢出。因此,Git 將在繼續操作之前將工作目錄重設為父系 commit。
- -v
-
詳細模式。
範例
- 將一個修補程式合併到 CVS 中
-
$ export GIT_DIR=~/project/.git $ cd ~/project_cvs_checkout $ git cvsexportcommit -v <commit-sha1> $ cvs commit -F .msg <files>
- 將一個修補程式合併到 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] 套件的一部分