私はS3(とS3BotoStorage)の静的ファイルにdjango-storageを使用しています。私のローカルマシンからcollectstaticを実行すると、動作は予期したとおりに行われ、変更されたファイルだけがS3にプッシュされます。このプロセスは修正された時間をチェックするためにpython-dateutils 1.5を必要とします。HerokuのDjango collectstaticが毎回S3にプッシュします
しかし、ヘロクで同じ操作を行うと、セットアップは同じですが、すべてのファイルがプッシュされます。私はその後、Heroku上のファイルの変更時刻を調べました。それは、os.stat(static_filename).st_mtimeは最後のプッシュの時刻と同じです。
これが期待どおりの動作ですか? herokuはgitからの変更がなくてもファイルをコピーしますか?
もう1つのアプローチは、最後に変更されたストレージバックエンドチェックハッシュを使用することです。 S3にはファイルのmd5であるetagがありますが、それは文書化されていないと思います。 –