Что хочется:
Иметь автоматическую\полуавтоматическую синхронизацию файлов со следующими характеристиками:
- Синхронизация как автоматическая (через интернет) так и вручную (через флешку) \ полуавтоматически (через локалку).
- Копия части данных хранится в интернет сторадже ( бесплатное, хотя бы 3 гига), полная копия хранится на флешке (16 гигов).
- Синхронизируемые каталоги могут находится в произвольном месте (кроме вложенности друг в друга).
- Хорошая работа с каталогами содержащими проекты под SVN и Mercurial.
- 3-4 машины с разными возможностями синхронизации — машина с анлим интернетом, с дорогим интернетом (т.е. через флешку большие объемы предпочтительней), ноутбук который оказывается в одной сети с первой. В некоторых случаях — не все папки нужны на каждой машине.
- Достаточно только под Win
- Было бы идеально если можно было бы синхронизировать историю SVN и Hg
- Если где-то что-то ломается или неправильно обновляется — можно сделать откат с рабочей\бэкапной флешки, сказав принудительно — «при сравнении такого каталога — файлы на флешке приоритетнее.»
Что есть сейчас:
Синхронизация через 2 утилиты: LiveMesh и SyncToy
LiveMesh умеет — синхронизация через интернет хранилище (5 гигов) и через локалку\wifi (нет ограничений). Все более-менее автоматически.
Что делает плохо — конфликты убираются в корзину, вариаций не дается. Плохо отрабатывает по SVN (ломает репозиторий), HG +SVN даже страшно пробовать. Синхронизация только целиком, не диффы, т.е. траффик жрет сильно.
SyncToy: Ручная дрезина — все каталоги задаем руками, синхронизация запускается руками.
Что делает плохо — не самый продуманный алгоритм удаления — перед удалением каталога — удалит в индивидуальном порядке каждый файл в нем. Фильтры на игнор настраиваются по индивидуальному абсолютному пути и нет маски. Ломает SVN. Очень много файлов вызывают ступор или краш ( видимо или течет память или неоптимальное использование — забивается все)
Пробовал дропбокс — мало места в инете (бесплатного), хранилище только в одном каталоге (MyDropbox), не умеет по сети (из вкусностей — история как SVN).
Рассматривал вопрос c RSync, не понравилось что надо много всего писать вручную.
Есть сильные сомнения что все это будет хорошо работать с SVN\Hg при таком тупом синхронизировании.
Немного изучал вопрос mercurial<->Svn — консолька вместо автоматического гуя пока не устраивает и слишком много ручной работы для написания батчей ( может я не в курсе и уже есть нормальные решения ?).
Собственно вопрос:
Может кто посоветует полную или частичную замену данной схемы. или хотя бы нормальную работающую схему с синхронизацией snv\hg, без обилия ручной работы.
Готов даже делать отдельную синхронизацию файлов (тут SyncToy работает вполне нормально) и синхронизацию проектов (commit в 2 разные системы, копия в инете (bitbucket) на флешке) разнести.