Проверка файлов для тестирования

Когда эта проблема со мной произошла, я исправил ее, удалив некоторые несущественные файлы, которые у меня были в папке проекта, например, хранилище ключей.

Оглядываясь назад, было бы неплохо дать люди - ключи к вашей игре.

6
задан Mark Norgren 14 November 2013 в 22:00
поделиться

5 ответов

Только 100%-й способ выяснить, равны ли два файла, состоит в том, чтобы сделать двоичное сравнение двух.

Если можно жить с риском ложных положительных сторон (т.е. два файла, которые не на 100% идентичны, но в коде говорится, что они), то обзор и алгоритмы контрольной суммы могут использоваться для уменьшения работы, особенно если файлы живут на двух различных машинах с меньше, чем оптимальной пропускной способностью так, чтобы двоичное сравнение было неосуществимо.

Обзор и алгоритмы контрольной суммы, у всех есть возможности ложных положительных сторон, но точный шанс меняется в зависимости от алгоритма. Общее правило состоит в том что, чем более crypto-сделан это, и больше битов, которые это производит, тем менее случайный из положительной лжи.

Даже алгоритм CRC-32 довольно хорош для использования, и должно быть легко найти примеры кода в Интернете, который реализует его.

Если Вы только делаете сравнение размера/метки времени затем, я вынужден сказать, что это легко обойти и на самом деле не даст Вам большую часть уверенности, что файлы являются тем же или отличающийся.

Это зависит, хотя, если Вы знаете, что в Вашем мире, метки времени сохранены и только изменены, когда файл изменяется, затем можно использовать его, иначе это не содержит гарантии.

3
ответ дан 16 December 2019 в 21:49
поделиться

Хеширование очень хорошо. Но другой, немного более низкая техническая альтернатива должна выполнить различный инструмент как WinMerge или TextWrangler и сравнить две версии каждого файла. Скучный и существует место для человеческой ошибки.

Лучший из всех, используйте управление версиями для обеспечения файлов, которые Вы тестируете, файлы, которые Вы отредактировали, и те Вы собираетесь запуститься. У нас есть папки контроля от нашего repo как подготовка и живые сайты, поэтому после того как Вы фиксировали изменения из своей рабочей копии, можно быть на 100% уверены, что файлы, которые Вы тестируете, продвигают к подготовке и затем живут, то же, потому что Вы просто выполняете "svn обновление" на каждом поле и проверяете число пересмотра.

О, и если необходимо откатывать второпях (это происходит с нами всеми когда-то или другим), Вы просто работаете, обновление svn снова с-r переключаются и возвращаются к предыдущему пересмотру фактически немедленно.

3
ответ дан 16 December 2019 в 21:49
поделиться

Я сделал бы что-то как хеш md5sum на файлах и сравнил бы это с известными хешами от выпуска. Они будут более точными, чем просто сравнения даты/времени и должны смочь быть автоматизированными больше.

1
ответ дан 16 December 2019 в 21:49
поделиться

Нормальный путь состоит в том, чтобы вычислить хеш этих двух файлов и сравнить это. MD5 и SHA1 являются типичными хеш-алгоритмами. md5sum должен быть установлен по умолчанию на большинстве машин типа Unix, и md5sum статья Википедии имеет ссылки на некоторые реализации окон.

1
ответ дан 16 December 2019 в 21:49
поделиться

Необходимо сделать, CRC проверяет каждый файл... от Wiki:

Контроль циклическим избыточным кодом, тип хеш-функции раньше производил контрольную сумму для обнаружения ошибок в передаче или устройстве хранения данных.

Это производит почти уникальное значение на основе содержания файла.

0
ответ дан 16 December 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: