Re[2]: Патчи
От: rsdnLeon  
Дата: 09.10.06 18:00
Оценка: 2 (1)
Здравствуйте, 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, т.е. для использования между разработчиками приложения в одной команде. Она НЕ предназначена для создания инсталяций обновлений приложений, которую
можно передать клиенту. Та же программа, которую предлагаю я, служит для использования между разработчиком приложения и клиентом пользователем этого приложения. Исправили пару багов — отправили клиенту удобную и небольшую по объему установку обновления.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.