Здравствуйте, c-smile, Вы писали:
CS>Здравствуйте, rsdnLeon, Вы писали:
L>>Бесплатная программа создания патчей на русском языке
L>>http://download.ware.ru:8080/win/10001_LitePatcher.exe
L>>Специальные требования: .NET Framework 2.0
CS>TortoiseSVN это делает просто замечательно.
CS>И бесплатная. И не надо .NET Framework 2.0
CS>Или ты сам LitePatcher этот писал?
Да, эту программу написал я. Необходима была бесплатная программа для создания патчей. Изучил этот вопрос в Интернете и оказалось что из подходящих бесплатных программ есть только PatchWiseFree. Под подходящими имею ввиду такие, которые бы сравнивали две директории с предыдущей и новой версиями приложений, с учетом подкаталогов и создавали на основе различий исполнимый файл патча. Т.е. если установить такой патч на предыдущую версию — получалась бы версия соответствующая новой. Но как оказалось PatchWiseFree находит измененные файлы и целиком пакует его в патч. Т.е. если изменился файл размером 1Мб, то в патч пойдет архив всего этого файла. И если он ужался всего в 2-3 раза, то патч получится довольно большого обьема. А если в этом файле всего 1 байт изменился ? В этом случае такой патч становится слишком тяжеловесным. Вот и пришлось написать свою патчеделку:
— анализируется вся структура подкаталгов указанных директорий;
— если файл или подкаталог удален, то в патч записывается соответствующая информация, какие объекты удалить;
— если файл или подкаталог новые, то их архивы полностью записываются в патч;
— если файл изменился, в нем определяются только изменившиеся участки и только они записываются в патч. Например, если в новой версии по отношению к предыдущей изменилось только несколько байт, то только эта информация уйдет в патч, который получится небольшого размера.
Насчет TortoiseSVN: эта программа служит для других целей. Это больше надстройка над CVS, т.е. для использования между разработчиками приложения в одной команде. Она НЕ предназначена для создания инсталяций обновлений приложений, которую
можно передать клиенту. Та же программа, которую предлагаю я, служит для использования между разработчиком приложения и клиентом пользователем этого приложения. Исправили пару багов — отправили клиенту удобную и небольшую по объему установку обновления.