6

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

从我所见,cvs/svn 无法处理这样的事情,还是我错了?如果不是,您会推荐什么其他允许重命名文件的源代码控制系统?

4

5 回答 5

12

Subversion 可以做到这一点,但你必须这样做

svn move <oldfile> <newfile>

编辑:在这十年里,我们这样做git mv <oldfile> <newfile>了,或者只是使用mv,而 git 通常会自行解决。

于 2008-10-02T15:22:28.667 回答
7

在线 CVS 手册有一些关于如何执行此操作的详细信息:

移动文件的正常方法是发出 cvs rename 命令。

$ cvs rename old new
$ cvs commit -m "Renamed old to new"

这是移动文件的最简单方法。它不容易出错,并且保留了所做操作的历史记录。CVSNT 客户端可以通过检出旧版本的存储库来检索原始名称。

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

于 2008-10-02T15:25:29.283 回答
4

几乎任何现代版本控制系统都允许这样做(Subversion、Perforce、Vault、git、Mercurial、TFS 等)。

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

于 2008-10-02T15:25:26.227 回答
2

在 svn 中,使用 svn mv。

另请参阅:常见问题解答中的http://subversion.tigris.org/faq.html#case-change

于 2008-10-02T15:25:37.443 回答
-1

Subversion 具有重命名功能。

于 2008-10-02T15:22:56.920 回答