私はすでに Mercurial バージョン管理システムを使用しており、システムが名前の相違について警告しているのを何度か見てきました。
私がしていることは、1 つの大きなファイルの 2 つの異なる子孫を作成することです。たとえばHttpRequest
、のラッパーであるという名前のクラスが1つありましたCGI.pm
。後でPSGI
プロトコルに移行することにしたとき、このファイルの 2 つのコピー、つまり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
これは悪いですか?他の方法で行う必要がありますか?