2011-09-09 6 views
13

UpperCamelCase命名規則に従って命名されていないいくつかのクラスを含むJavaプロジェクトを継承しました。Windows&Mercurialのクラス名の変更ケース

これは特に、省略形(例:HtmlButtonではなくHTMLButton)の場合です。 CamelCaseの略語の使用にはいくつかの意見の相違があることを知っていますが、略語の最初の文字に大文字を使用することに変わりたいと思います。 (現在、複数の名前が同時に付けられているようです。)

私はこれを整理したいと思います。私たちは、Mercurialをソースコードリポジトリとして使用し、Windowsマシン(XP、Vista、7を含む)で作業しています。しかし、クラス名をHTMLButtonからHtmlButtonに変更すると、Mercurialはこれをクラス名の変更として認識しますが、ファイル名の変更として認識しません。 (その後、Mercurialからの引き出しはファイル名の変更を受け付けません)。

Windowsは大文字と小文字を区別しないファイルシステムで動作することがわかりました。私はMercurialがこの機能を採用していることを理解しています。 Windowsボックス...

So ...: - Mercurialで大文字と小文字を区別するファイル名を使用するように変更できる設定はありますか? - 大文字と小文字が区別されるファイル名を使用するようにWindowsを変更できる設定はありますか? (これは別々の質問ですが、Mercurialにファイル名の変更を受け入れるようにすることが最優先事項ですが、必要に応じて手動で強制的にファイル名を変更することができます)。

他のすべてが失敗した場合は、HTMLButtonをHtmlButtonAにリネームし、コミットしてプッシュし、HtmlButtonAをHtmlButtonにリネームして、別のコミットとプッシュを実行することもできます...しかし、他にあなたが行う場合は第2のプッシュプルの後に...)

答えて

20

をしたのみ:

hg rename foo bar 
hg rename bar Foo 

実際にコミットして終了するまで押す必要はありません。つまり、このWindows固有の回避策はリポジトリには認識されません。

別のオプションは、Windowsでファイルの名前を変更することで、その後、呼び出し:

hg rename foo Foo --after 

変更のMercurialのを通知します。

出典:http://hgbook.red-bean.com/read/mercurial-in-daily-use.html#id364064

+0

おかげで - 私は(少なくとも私は、コミットの多くを行う必要はありません/プッシュ)ダブル名前の変更は、私ができる最善だと思います。それはまだ少し面倒ですが、私はそれが人生だと思います... – amaidment

+3

これを行うには注意してください。私はこれをしました(間にコミットなし)、今私は古い事件を持っている別の支店とその支店をマージすることはできません... :(私はまだそれに取り組んでいるが、立っている私は正しい方法を見つけていないこの問題を解決するために、私はそれを元に戻すことを試みました(私はマージすることができます)し、新しいケースに戻ってきました(バストをやり直してください)。 – GazB

+0

名前を変更した後Visual Studio(csprojを更新)、TortoiseHg(2.11.1)で右クリックして名前を変更しました。それはうまくいくようでした。私はコミットし、別のブランチと正常にマージしてプッシュしました。 –

関連する問題