英语 ▾
主题 ▾
最新版本 ▾ git-cvsexportcommit 最后更新于 2.35.0
git-cvsexportcommit 手册中的更改
设置和配置
获取和创建项目
基本快照
分支和合并
共享和更新项目
检查和比较
补丁
调试
电子邮件
外部系统
服务器管理员
指南
管理
管道命令
- 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 中的提交导出到 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 <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] 套件的一部分