Svn 是否有允许跟踪文件名更改的源代码管理系统?

Svn 是否有允许跟踪文件名更改的源代码管理系统?,svn,version-control,cvs,Svn,Version Control,Cvs,所以,我已经和我的cvs存储库生活了一段时间。尽管我遗漏了一件事——如果我重命名存储库中已经存在的文件,我需要从中删除旧名称的文件并添加新文件。因此,我失去了我所有的改变历史。有时需要重命名现有项目中的文件 据我所见,cvs/svn无法处理类似的事情,还是我错了?如果没有,您会推荐什么其他源代码管理系统,允许重命名文件 Subversion可以做到这一点,但您必须使用 svn move <oldfile> <newfile> svn移动 编辑:在这十年中,我们使用了g

所以,我已经和我的cvs存储库生活了一段时间。尽管我遗漏了一件事——如果我重命名存储库中已经存在的文件,我需要从中删除旧名称的文件并添加新文件。因此,我失去了我所有的改变历史。有时需要重命名现有项目中的文件


据我所见,cvs/svn无法处理类似的事情,还是我错了?如果没有,您会推荐什么其他源代码管理系统,允许重命名文件

Subversion可以做到这一点,但您必须使用

svn move <oldfile> <newfile>
svn移动

编辑:在这十年中,我们使用了git mv,或者仅仅使用了mv,git通常会自己解决问题。

Subversion具有重命名功能。

几乎任何现代版本控制系统都会允许这种功能(Subversion、Performance、Vault、git、Mercurial、TFS等)

我能想到的唯一不会(或有重大警告)的是CVS和VSS。

有一些关于如何做到这一点的详细信息:

移动文件的正常方法是发出cvs重命名命令

$ cvs rename old new
$ cvs commit -m "Renamed old to new"
这是移动文件的最简单方法。它不容易出错,并且保留了所做工作的历史记录。CVSNT客户端可以通过签出存储库的旧版本来检索原始名称

此功能仅在CVSNT服务器2.0.55及更高版本上受支持。

在svn中,使用svn mv

另请参见常见问题解答中的