2009年12月12日土曜日

Mercurial でファイルの大小文字で困ったときに、

Macなどの大小の区別はするがファイルとしては1つ扱いのOSだと、
途中でファイル名の大文字を小文字にかえる場合は、削除して再作成
でないと危険のようです。

Pushでへんなメッセージが出たのに気づかずにアップロードしてしまうと、
別の人がClone使用としたりすると、「ファイル名に大文字小文字の問題がある」
というメッセージが出てうまくPullできません。

そこで、大小文字を区別するOSか、Macなどでは大小文字を区別するファイルシステム
をマウントさせてそこにCloneして修復作業をします。

問題となるファイルが見えたので、削除します。

$ ls
00PREPARE.sql 12ENQUE_PRICE_EVENT_PROC.sql
01CREATE_SCHEMA.SQL 21PRICE_CHG_TRIGGER.sql
01CREATE_SCHEMA.sql 51INSERT_QUOTATION.sql
02CREATE_QUEUE.sql 81TESTSCRIPT.sql

$ rm *.SQL


次は、hg commit して push なのですが、commit すると、

$ hg commit
変更なし

となり、削除したファイルが???です。以下のようにすればいいと分かりました。


$ hg status
! src/main/resources/sql/_CREATE_ALL_.SQL

$ hg remove src/main/resources/sql/_CREATE_ALL_.SQL
$ hg commit
$ hg push http://xxxxxx

0 件のコメント: