无法将名为“VERSION”的文件添加到名为“version”的目录的同一级别的CVS中

时间:2009-07-06 09:09:16

标签: cvs add git-cvs

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

|
\_version/
| |
| \_version.txt (to be removed)
|
\_VERSION (to be added)

我得到的输出如下:

Applying to CVS commit f6ce403e6e1d57b61661527969ac97c52bcbe41f from parent 076d1fb72d8498670582561b7318939bf209c1f4
Checking if patch will apply
cvs status: Examining prometeo/VERSION
Applying
fatal: unable to write file prometeo/VERSION mode 100644
Patch applied successfully. Adding new files and directories to CVS
cvs [add aborted]: there is a version in prometeo/VERSION already
Failed to cvs add prometeo/VERSION -- you may need to do it manually at /usr/local/git/libexec/git-core/git-cvsexportcommit line 314.
cvs remove: scheduling `prometeo/version/version.txt' for removal
cvs remove: use 'cvs commit' to remove this file permanently
Commit to CVS
Patch title (first comment line): Moved tmtc-prometeo version number to prometeo/VERSION
NOTE: One or more hunks failed to apply cleanly.
You'll need to apply the patch in .cvsexportcommit.diff manually
using a patch program. After applying the patch and resolving the
problems you may commit using:
    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

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

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

无论如何,我非常强烈建议不要使用仅在大小写方面有所不同的文件名。如果你想要查看一个不完全不区分大小写的文件系统(某些版本的MS Windows,某些版本的MacOS ......),它也会让人感到困惑(“你需要编辑文件foo”,这可能是一场噩梦!在等等,不是那个foo,那个有资本F“......”的人。

所以:

  1. 不要这样做
  2. 如果您认为必须,请在Linux上托管: - )

答案 1 :(得分:0)

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

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