2012-02-23 6 views
1

Mercurialを使用してファイルの名前を変更しても、変更せずにコミットすると、それでもファイル全体がリポジトリに送信されるのはなぜですか? (私は、リモートリポジトリへの後続のプッシュが、どれだけのデータが転送されているかを示すため、わかります)。名前を変更する必要があることは明らかですか?Mercurialのファイル名の非効率な処理

私はTortoiseHGの最新バージョンをWindowsで使用しています。問題のファイルは20MBのテキストファイルです。

答えて

3

これは、Mercurialで使用されている記憶形式の欠点です。完全な記事のために"lightweight copies"を検索することができますが、名前を変更すると新しいファイル名のために新しいrevlogが作成されるという問題があります。新しいrevlogは完全なファイルの圧縮されたスナップショットから始まります - これは通常大きな問題ではありませんが、まだゼロサイズのデルタよりも大きいです。

Mercurialにパッチを当てて試験的なコードを実行しない限り、今はほとんどできません。良いニュースはあなたがただ待たなければならないということです:私たちが取り組んでいるパッチは、あなたの既存のリポジトリをスペース効率の良いものに自動的に変換することができます。これは、ネットワーク上のhg clone、またはローカルでhg clone --pullを使用している場合に発生します。

+0

完璧、ありがとう – max

関連する問題