0

我正在使用 cvsexportcommit 报告从 git 到 cvs 的一系列提交。我发现在以下上下文中添加 VERSION 文件是不可能的

|
\_版本/
| |
| \_version.txt(待删除)
|
\_VERSION(待补充)

我得到的输出如下:

从父 076d1fb72d8498670582561b7318939bf209c1f4 申请到 CVS 提交 f6ce403e6e1d57b61661527969ac97c52bcbe41f
检查补丁是否适用
cvs 状态:检查 prometeo/VERSION
申请
致命:无法写入文件 prometeo/VERSION 模式 100644
补丁应用成功。向 CVS 添加新文件和目录
cvs [添加中止]:prometeo/VERSION 中已经有一个版本
无法 cvs 添加 prometeo/VERSION - 您可能需要在 /usr/local/git/libexec/git-core/git-cvsexportcommit 第 314 行手动执行此操作。
cvs remove: 安排 `prometeo/version/version.txt' 删除
cvs remove: 使用 'cvs commit' 永久删除这个文件
致力于 CVS
补丁标题(第一行注释):将 tmtc-prometeo 版本号移至 prometeo/VERSION
注意:一个或多个帅哥未能干净地应用。
您需要手动在 .cvsexportcommit.diff 中应用补丁
使用补丁程序。应用补丁并解决问题后
您可能使用以下方法提交的问题:
    cd "/Users/elia/Code/linux-tmtc/"
    cvs -d :ext:eschito@********:/cvshome/ground commit -F .msg 'prometeo/VERSION' 'prometeo/tool/bin/tmtc_info' 'prometeo/version/version.txt'

如果我尝试手动将“VERSION”文件添加到 cvs,我会得到:

> cvs add prometeo/VERSION
cvs [add aborted]: there is a version in prometeo/VERSION already

有任何想法吗?

4

2 回答 2

3

您的 CVS 服务器在哪个平台上运行?AFAIK,某些版本的 CVS(至少在 Windows NT 上)在某些地方具有不区分大小写的文件名处理,因此不会接受名称仅因大小写而异的两个文件。

无论如何,我强烈建议不要使用仅在情况下不同的文件名。如果您想签出不完全不区分大小写的文件系统(某些版本的 MS Windows,某些版本的 MacOS ......),这可能是一场噩梦,而且它也令人困惑(“您需要编辑文件 foo等等,不是那个 foo,那个大写的 F" ...)。

所以:

  1. 不要这样做
  2. 如果您觉得有必要,请在 Linux 上托管 :-)
于 2009-07-06T09:15:52.597 回答
0

没有找到原因,但解决方案是进行两次不同的提交:一次用于文件夹删除,一次用于添加文件。

顺便说一句,现在 cvs 抱怨每次我结帐或更新时都找不到(旧)文件夹......

于 2009-07-07T10:37:50.163 回答