这是 git-cvsimport 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
git-cvsimport - 从人们讨厌的另一个 SCM 中挽救您的数据
概要
混帐 导入 [-o ] [-h] [-v] [-d ]
[-一种] [-p ] [-P ]
[-C ] [-z ] [-i] [-k] [-u] [-s ]
[-a] [-m] [-M ] [-S ] [-L ]
[-r ] [-R] [ ]
商品描述
警告: git cvsimport 使用 cvsps 版本 2,该版本被认为已弃用; 它不是
使用 cvsps 版本 3 及更高版本。 如果您正在执行 CVS 的一次性导入
存储库考虑使用 CVS2GIT[1]或 解析cvs[2]。
将 CVS 存储库导入 Git。 它将创建一个新的存储库,或者
逐步导入到现有的。
将 CVS 日志拆分为补丁集是通过以下方式完成的 简历. 至少需要 2.1 版。
警告: 在某些情况下,导入会导致不正确的结果。 请参阅
部分问题以供进一步参考。
您应该 决不要 在由创建的分支上做你自己的任何工作 混帐
导入. 默认情况下,初始导入将从
您可以自由使用的 CVS 存储库的主分支; 之后,你需要 混帐
合并 增量导入,或任何 CVS 分支,你自己。 建议指定一个
通过 -r 命名远程以分隔和保护传入的分支。
如果您打算建立一个所有开发人员都可以读/写的共享公共存储库,或者
如果你想使用 git-cvs 服务器(1),那么你可能想要制作一个裸克隆
导入存储库,并将克隆用作共享存储库。 看 gitcvs-迁移(7)。
配置
-v
冗长:让 导入 报告它在做什么。
-d
CVS 存档的根目录。 可能是本地的(一个简单的路径)或远程的; 目前,只有
:local:、:ext: 和 :pserver: 访问方法受支持。 如果不给, 混帐
导入 将尝试从 CVS/Root 读取它。 如果不存在这样的文件,它会检查
CVSROOT 环境变量。
要导入的 CVS 模块。 关系到. 如果不给, 混帐 导入
尝试从 CVS/Repository 读取它。
-C
要导入到的 Git 存储库。 如果目录不存在,它将被创建。
默认为当前目录。
-r
将此 CVS 存储库导入的 Git 远程。 将所有 CVS 分支移动到
遥控器/ / 类似于方式 混帐 克隆 使用 起源 默认情况下。
-o
当没有指定遥控器时(通过 -r) 校长 来自 CVS 的分支被导入到
起源 Git 存储库中的分支,如 校长 已经有特殊的意义
吉特。 当指定遥控器时 校长 分支名为 remotes/ /掌握
镜像 混帐 克隆 行为。 如果您想导入到不同的
科。
使用 VHDL 语言编写 -o 主 用于继续最初由旧的 cvs2git 完成的导入
工具。
-i
仅导入:导入后不执行结帐。 此选项可确保工作
目录和索引保持不变,如果它们不存在就不会创建它们。
-k
杀死关键字:将提取文件 -kk 来自 CVS 档案以避免嘈杂
变更集。 强烈推荐,但默认关闭以保持与
早期进口的树木。
-u
将标签和分支名称中的下划线转换为点。
-s
将分支名称中的字符“/”替换为
-p
cvsps 的附加选项。 选项 -u 和 -A 是隐含的,不应该是
在这里使用。
如果您需要传递多个选项,请用逗号分隔它们。
-z
以秒为单位将时间戳模糊因子传递给 cvsps。 如果未设置,cvsps 默认为 300s。
-P
读取提供的 cvsps 输出文件,而不是调用 cvsps。 用于调试或
当在 cvsimport 之外处理 cvsps 时。
-m
尝试根据提交消息检测合并。 此选项将启用默认
尝试从提交消息中捕获源分支名称的正则表达式。
-M
尝试使用自定义正则表达式根据提交消息检测合并。 有可能
与使用 -m 也启用默认的正则表达式。 你必须逃避正斜杠。
正则表达式必须在 $1 中捕获源分支名称。
此选项可以多次使用以提供多个检测正则表达式。
-S
跳过匹配正则表达式的路径。
-a
导入所有提交,包括最近的提交。 cvsimport 默认跳过提交
有不到 10 分钟前的时间戳。
-L
限制导入的提交数量。 cvsimport 泄漏的解决方法
记忆。
-一种
CVS 在写入提交日志时默认使用 Unix 用户名。 使用这个选项
并且作者转换文件将记录在 CVS 中的姓名映射到作者姓名、电子邮件和
可选时区:
外显子=安德烈亚斯·爱立信[email protected]>
spawn=西蒙典当[email protected]> 美国/芝加哥
混帐 导入 将使它看起来像那些作者有他们的 GIT_AUTHOR_NAME 和
GIT_AUTHOR_EMAIL 一直正确设置。 如果指定了时区,则 GIT_AUTHOR_DATE
将应用相应的偏移量。
为方便起见,每次执行此操作时,都会将此数据保存到 $GIT_DIR/cvs-authors -A 选项是
每次都提供并从同一个文件中读取 混帐 导入 运行。
如果您打算将更改导出回 CVS,则不建议使用此功能
稍后再与 混帐 cvsexport提交.
-R
生成包含来自 CVS 修订号的映射的 $GIT_DIR/cvs-revisions 文件
到新创建的 Git 提交 ID。 生成的文件将包含每一行
(文件名,修订版)对导入; 每行看起来像
src/widget.c 1.1 1d862f173cdc7325b6fa6d2ae1cfd61fd1b512b7
如果文件已经存在,则将修订数据附加到文件中,以便在执行时使用
增量进口。
如果您在提交消息中存储了 CVS 修订号,则此选项可能很有用,
错误跟踪系统、电子邮件档案等。
-h
打印一条简短的使用消息并退出。
OUTPUT
If -v 指定,脚本报告它正在做什么。
否则,以 Unix 方式表示成功,即简单地以零退出退出
状态。
问题
与时间戳相关的问题:
· 如果 CVS 存储库中提交的时间戳不够稳定,无法用于
ordering commits 更改可能会以错误的顺序显示。
· 如果任何文件被多次“cvs 导入”(例如,导入多个
供应商发布) HEAD 包含错误的内容。
· 如果不同文件的时间戳顺序与提交内的修订顺序交叉
匹配时间窗口提交的顺序可能是错误的。
与分支相关的问题:
· 没有提交的分支不会被导入。
· 即使从未在 CVS 中添加过,来自分支点的所有文件也会添加到分支中。
· 这适用于添加到源分支的文件 after 创建了一个子分支:
如果之前没有在子分支上进行提交,它们将被错误地添加
到 git 中的子分支。
与标签相关的问题:
· 不会导入同一修订版上的多个标签。
如果您怀疑这些问题中的任何一个可能适用于您要导入的存储库,
考虑使用 cvs2git:
· cvs2git(cvs2svn的一部分), http://subversion.apache.org/
GIT
部分 混帐(1) 套房
附注
1.cvs2git
http://cvs2svn.tigris.org/cvs2git.html
2. 解析cvs
https://github.com/BartMassey/parsecvs
使用 onworks.net 服务在线使用 git-cvsimport