我在尝试向CVS添加文件时遇到了一个奇怪的错误。
问题开始是因为案例错误,导致问题(即MyFile.js在CVS中为myfile.js)
我尝试删除该文件,并将其重新添加,现在我收到以下错误:
cvs server: could not find parsed rcsfile MyFile.js
我有什么方法可以永久删除此文件并启动新文件?
在Windows资源管理器中删除文件(在服务器上)并没有解决问题。当我在Windows资源管理器中删除该文件时,它允许我将其重新添加,但告诉我它在我再次更新时已被删除。
编辑:
我尝试了以下内容:
答案 0 :(得分:1)
在资本化方面,NT文件系统有点不足:它记住了初始大写,但此后忽略了任何变化。
所有这些意味着您将不得不在存储库中采取一些重大步骤。先做好备份,如果你不喜欢这样做,找一个懂CVS的人。
第一步是找到您的存储库。如果您进入工作目录并查看文件CVS/Root
的内容,您将看到如下字符串:
:ext:rivendell:/tera/cvs
这表示我的CVS存储库是从目录“/ tera / cvs”中的主机“rivendell”提供的。在该目录下,您将找到各个项目,最终您将深入查看目录,直到找到所需项目。
此时,要么你会看到版本文件 - 这么命名是因为它最后有一个“,v”,否则你就不会。如果你不这样做,那就找一个名为Attic
的目录(虽然你说CVSNT没有阁楼,但我不相信你。)
这里有两个选择。最简单的方法是删除版本文件。您也可以将其重命名为一些无害的名称,例如“ix,v”,然后使用正确的大小写将其命名。无论如何,下一步不会改变。
现在返回工作站,删除工作目录。完全。不要试图删除CVS子目录,或任何花哨的东西。如果您有需要保留的文件(因为尚未检入),请将它们复制到安全的地方。
从存储库中签出项目的新副本,并使用正确的大小写创建文件。同样,由于NTFS对于资本化很不满意,您不能简单地将保存的版本复制到目录中并重命名。
答案 1 :(得分:0)
您还需要从存储库本身的Attic文件夹中删除该文件。
答案 2 :(得分:0)
“cvs remove”后跟“cvs commit”不起作用吗?
答案 3 :(得分:0)
CVS正在变成一个放弃的软件:它仍然有很多错误,它们不会被修补。如果你可以切换到SVN那就更好了。甚至还有一些工具可以进行导入(我自己使用它并且它工作得很好)。他们导入一切,包括每个文件的历史记录。然后,您将能够轻松解决您的问题。
众所周知,CVS在重命名(其他操作)时会很痛苦。因此,如果您更改为SVN,将来可以花更少的时间来对抗版本控制软件。
如果您无法切换到SVN:
编辑:我找到了this。也许你可以删除文件搞砸了的修订版?使用-0range命令。 小心:该命令被认为是危险的。所以你可能想先备份你的cvs。
答案 4 :(得分:0)
您是否尝试发出“cvs remove”命令从沙箱中删除文件并在服务器上标记为删除,提交删除并重新添加?我猜你遇到的是你的沙盒和服务器不同步。一旦文件受cvs控制,你不应该删除/重命名/ etc。使用shell命令,您应该只使用CVS命令。另请注意,CVSNT要求重命名后跟一个“目录”提交 - 提交文件只会在服务器端注册重命名 - 无论如何重命名都有一些问题,有些问题在最近的版本中得到解决。