Форум сайта python.su
Собственно, понадобилось написать что-то самое простенькое наподобие CVS. То есть система с отслеживанием изменений в подконтрольных файлах, причем с добавочным резервированием (incremental backup). Подскажите, пожалуйста, в какую сторону копать и как грамотно все это дело реализовать. Каким-то макаром использовать diff'ы? И да, надо будет реализовать работу с удаленным хостом. Клиент-сервер?
Отредактировано (Дек. 18, 2009 23:47:35)
Офлайн
всё уже давно придумали: rsync
Офлайн
poltergeist
да знаю, от меня просят свою :) С преферансом и пианистками.
Офлайн
дубль второй: mercurial + своя надстройка
Офлайн
poltergeist
Да я понимаю, что есть куча сторонних куда более крутых разработок! :) Я просто хочу хотя бы сам для себя понять, как это можно замутить - мониторинг файлов, сбор изменений, работа с сервером. И да, исходники mercurial крутые, но вряд ли я в них вот так сразу быстро один разберусь)
Отредактировано (Дек. 19, 2009 11:25:24)
Офлайн
$ eix duplicity
[i] app-backup/duplicity
Available versions: 0.4.11 0.5.17 ~0.5.20 ~0.6.05 ~0.6.06 {s3}
Installed versions: 0.5.17(09:05:25 17.12.2009)(-s3)
Homepage: http://www.nongnu.org/duplicity/
Description: duplicity is a secure backup system using gnupg to encrypt data
Офлайн
Enchantner
Ну, для начала, стоит определится в типе системы - распределённая/централизированная. Зависит от контекста использования.
Команды и фичи можно почерпнуть отсюда - http://en.wikipedia.org/wiki/Revision_control#Common_vocabulary
Как делать с удалённым хостом - зависит от типа системы.
Определись с этими вопросами - проще будет ставить следующие требования, и рисовать архитектуру.
А вообще, я согласен с другими коментаторами - не стоит изобретать велосипед.
Офлайн
К меркуриалу можно хуки писать.
Офлайн
В общем, небольшой ап :) Разбираю тут работу с модулем difflib. Прикол в том, что diff файла получается раза в полтора больше, чем сам файл. Неужели нет алгоритма попроще, чтобы многомегабайтный дамп бд лежал просто кейфреймом, а остальные файлы были маленькими диффами от него?
Офлайн
EnchantnerЯ с difflib не разбирался, и в работе системы контроля версия понимаю только алгоритм - но все-таки попробую высказаться.
В общем, небольшой ап :) Разбираю тут работу с модулем difflib. Прикол в том, что diff файла получается раза в полтора больше, чем сам файл. Неужели нет алгоритма попроще, чтобы многомегабайтный дамп бд лежал просто кейфреймом, а остальные файлы были маленькими диффами от него?
Отредактировано (Дек. 28, 2009 10:55:58)
Офлайн