所以,我已经和我的cvs存储库一起生活了一段时间。虽然有一件事我想念 - 如果我重命名已存在于存储库中的文件,我需要从那里删除一个旧名称并添加新文件。因此,我放弃了所有的变化历史。有时需要在alredy现有项目中重命名文件。
从我看到的,cvs / svn无法处理这样的事情,或者我错了?如果没有,你会推荐哪些其他源控制系统,允许重命名文件?
答案 0 :(得分:12)
Subversion可以做到这一点,但你必须用
来做svn move <oldfile> <newfile>
编辑:在这十年中,我们会git mv <oldfile> <newfile>
,或者只使用mv
,git通常会自行解决。
答案 1 :(得分:7)
online CVS manual详细介绍了如何执行此操作:
移动文件的正常方法是发出cvs rename命令。
$ cvs rename old new $ cvs commit -m "Renamed old to new"
这是移动文件的最简单方法。它不容易出错,它保留了所做的历史。 CVSNT客户端可以通过签出旧版本的存储库来检索原始名称。
此功能仅在CVSNT服务器2.0.55及更高版本上受支持。
答案 2 :(得分:4)
几乎所有现代版本的控制系统都允许这样做(Subversion,Perforce,Vault,git,Mercurial,TFS等)。
我能想到的唯一不会(或有重大警告)的是CVS和VSS。
答案 3 :(得分:2)
在svn中,使用svn mv。
另请参阅常见问题解答中的http://subversion.tigris.org/faq.html#case-change。
答案 4 :(得分:-1)
Subversion具有重命名功能。