是否有源控制系统允许跟踪文件名更改?

时间:2008-10-02 15:21:10

标签: svn version-control cvs

所以,我已经和我的cvs存储库一起生活了一段时间。虽然有一件事我想念 - 如果我重命名已存在于存储库中的文件,我需要从那里删除一个旧名称并添加新文件。因此,我放弃了所有的变化历史。有时需要在alredy现有项目中重命名文件。

从我看到的,cvs / svn无法处理这样的事情,或者我错了?如果没有,你会推荐哪些其他源控制系统,允许重命名文件?

5 个答案:

答案 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具有重命名功能。