我已经使用 Mercurial 版本控制系统有一段时间了,有几次我看到系统警告我有关不同的重命名。
我所做的是制作一个较大文件的两个不同后代。例如,我有一个名为的类HttpRequest
,它是CGI.pm
. 后来,当我决定转向PSGI
协议时,我制作了这个文件的两个副本,即Cgi.pm
和Psgi.pm
. 原来的类仍然存在并成为抽象的,新的类继承自它。
我一直认为这是处理这种情况的首选方法,因为每个文件都保留了它所基于的文件的历史记录。但是当我将更改推送到远程服务器时,它会告诉我:
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 2 changesets with 2 changes to 2 files (+1 heads)
remote: warning: detected divergent renames of lib/HttpRequest.pm to:
remote: lib/HttpRequest/Cgi.pm
remote: lib/HttpRequest/Psgi.pm
这很糟糕吗?我应该以其他方式吗?