Когда эта проблема со мной произошла, я исправил ее, удалив некоторые несущественные файлы, которые у меня были в папке проекта, например, хранилище ключей.
Оглядываясь назад, было бы неплохо дать люди - ключи к вашей игре.
Только 100%-й способ выяснить, равны ли два файла, состоит в том, чтобы сделать двоичное сравнение двух.
Если можно жить с риском ложных положительных сторон (т.е. два файла, которые не на 100% идентичны, но в коде говорится, что они), то обзор и алгоритмы контрольной суммы могут использоваться для уменьшения работы, особенно если файлы живут на двух различных машинах с меньше, чем оптимальной пропускной способностью так, чтобы двоичное сравнение было неосуществимо.
Обзор и алгоритмы контрольной суммы, у всех есть возможности ложных положительных сторон, но точный шанс меняется в зависимости от алгоритма. Общее правило состоит в том что, чем более crypto-сделан это, и больше битов, которые это производит, тем менее случайный из положительной лжи.
Даже алгоритм CRC-32 довольно хорош для использования, и должно быть легко найти примеры кода в Интернете, который реализует его.
Если Вы только делаете сравнение размера/метки времени затем, я вынужден сказать, что это легко обойти и на самом деле не даст Вам большую часть уверенности, что файлы являются тем же или отличающийся.
Это зависит, хотя, если Вы знаете, что в Вашем мире, метки времени сохранены и только изменены, когда файл изменяется, затем можно использовать его, иначе это не содержит гарантии.
Хеширование очень хорошо. Но другой, немного более низкая техническая альтернатива должна выполнить различный инструмент как WinMerge или TextWrangler и сравнить две версии каждого файла. Скучный и существует место для человеческой ошибки.
Лучший из всех, используйте управление версиями для обеспечения файлов, которые Вы тестируете, файлы, которые Вы отредактировали, и те Вы собираетесь запуститься. У нас есть папки контроля от нашего repo как подготовка и живые сайты, поэтому после того как Вы фиксировали изменения из своей рабочей копии, можно быть на 100% уверены, что файлы, которые Вы тестируете, продвигают к подготовке и затем живут, то же, потому что Вы просто выполняете "svn обновление" на каждом поле и проверяете число пересмотра.
О, и если необходимо откатывать второпях (это происходит с нами всеми когда-то или другим), Вы просто работаете, обновление svn снова с-r переключаются и возвращаются к предыдущему пересмотру фактически немедленно.
Я сделал бы что-то как хеш md5sum на файлах и сравнил бы это с известными хешами от выпуска. Они будут более точными, чем просто сравнения даты/времени и должны смочь быть автоматизированными больше.
Нормальный путь состоит в том, чтобы вычислить хеш этих двух файлов и сравнить это. MD5 и SHA1 являются типичными хеш-алгоритмами. md5sum должен быть установлен по умолчанию на большинстве машин типа Unix, и md5sum статья Википедии имеет ссылки на некоторые реализации окон.
Необходимо сделать, CRC проверяет каждый файл... от Wiki:
Контроль циклическим избыточным кодом, тип хеш-функции раньше производил контрольную сумму для обнаружения ошибок в передаче или устройстве хранения данных.
Это производит почти уникальное значение на основе содержания файла.