简体中文 ▾
Localized versions of git-cvsexportcommit manual
Topics ▾
Email
Latest version
▾
git-cvsexportcommit last updated in 2.35.0
Changes in the git-cvsexportcommit manual
Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.35.1 → 2.47.1 no changes
- 2.35.0 01/24/22
- 2.1.4 → 2.34.8 no changes
- 2.0.5 12/17/14
概述
git cvsexportcommit [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d <CVS 根>] [-w <CVS 工作目录>] [-W] [-f] [-m <消息前缀>] [<父提交>] <提交 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
-
告诉 cvsexportcommit 当前工作目录不仅是 Git 签出目录,也是 CVS 签出目录。 因此,Git 会在继续之前将工作目录重置为父提交。
- -v
-
详细模式。
实例
- 将一个修补程序合并到 CVS 中
-
$ export GIT_DIR=~/project/.git $ cd ~/project_cvs_checkout $ git cvsexportcommit -v <提交 sha1> $ cvs commit -F .msg <文件>
- 将一个补丁合并到 CVS(-c 和 -w 选项)。工作目录在 Git 仓库中
-
$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <提交 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] 文档