Linux 在CVS中重命名文件

Linux 在CVS中重命名文件,linux,cvs,Linux,Cvs,我已经检查了一个文件temp.pl,但现在我想改成temp 我尝试了cvs rename temp.pl temp,但它不起作用 如何在cvs中重命名选中的文件 不能在CVS中重命名。你应该做: cp temp.pl temp cvs add temp cvs rm -f temp.pl 但您将丢失文件历史记录。如果您有对CVS存储库的文件级写访问权,您可以在那里找到文件temp.pl,v并将其重命名为temp,v-这将保留历史记录 CVS本质上是基于文件的(基于RCS),因此不支持跨文件操作

我已经检查了一个文件
temp.pl
,但现在我想改成
temp

我尝试了
cvs rename temp.pl temp
,但它不起作用


如何在
cvs
中重命名选中的文件

不能在CVS中重命名。你应该做:

cp temp.pl temp
cvs add temp
cvs rm -f temp.pl
但您将丢失文件历史记录。如果您有对CVS存储库的文件级写访问权,您可以在那里找到文件temp.pl,v并将其重命名为temp,v-这将保留历史记录


CVS本质上是基于文件的(基于RCS),因此不支持跨文件操作。

无法从客户端重命名。不过,通过直接操作存储库文件,勇敢者有两种解决方案

如果不需要对重命名进行版本控制,只需在存储库中重命名相应的v文件即可


如果确实需要对重命名进行版本控制,则可以使用新名称创建v文件的副本,然后使用
cvs admin-s'dead'
将重命名之前新文件中的所有修订标记为“dead”(这意味着在您请求旧版本时不会签出这些修订,但仍将在
cvs日志中列出)。您还应该
cvs rm
使用旧名称的文件,并可能在新名称上强制进行新修订,添加记录重命名的提交消息。

要在丢失其修订历史记录的情况下重命名文件,请尝试:

mv oldfile newfile
cvs remove oldfile
cvs add newfile
cvs commit -m "Renamed oldfile to newfile." oldfile newfile

如果您不想丢失其修订历史记录,请首先迁移到CVS以外的其他版本,然后重命名该文件。

如果您有可能并且您的工作流程允许,我建议迁移到更现代的版本控制系统,如SVN或分布式系统a la git或Mercurial。它们都支持重命名操作。