Re: Системы контроля версий встроеные в приложение
От: boot  
Дата: 22.07.12 09:46
Оценка:
Здравствуйте, barn_czn, Вы писали:

_>Коллеги, у меня такой вопрос — имеет ли смысл писать свою систему контроля версий внутри приложения по управлению метаданными?

_>Опишу кратко ситуацию.
_>Есть проект, клиент-серверное десктоп приложение, в котором люди создают какие то свои метаданные (справочники, документы, древовидные структуры, перекрестные связи между ними).
_>Главной фишкой этого проекта является версионирование этих данных. Отцы проекта пошли по пути создания своей встроенной системы версионирования: это таблички в БД аля ObjectVersion, Brunch, и все все вытекающие проблемы и баги.

_>А между тем есть более простое решение — использование файловой системы версионирования, и отказ от хранения данных в БД.

_>Например JetBrains MPS — тоже система метаданных, но они в качестве системы контроля используют SVN (а можно даже CVS).

_>Сложность в том, что я не могу найти сильной аргументации отказаться от такой самодельной системы контроля версий.


_>Кстати, а нет ли готовых решений, которые версионируют не просто файлы, а данные? И чтобы не было жесткой привязки к UI. Ну т.е. выходит нужна БД с поддержкой контроля версий. Или это полный бред и никому это не надо?


Отцы могут быть правы, Вы ничего не написали об объеме и числе записей. К тому же в СУБД есть фишки, которые придется реализовывать для ФС. Опять же, служба поддержки, если их навыки заточены на СУБД, трудно будет менять привычки. Это за БД.
За ФС. Да, очень хороша для разработки. А будет ли необходимость пользователю поиметь несколько версий одного объекта? Опять же хранение патчей предпочтительней, чем хранение почти одинаковых данных. Тут тоже есть моменты, которые могут испортить настроение .

Самая большая загвоздка в этом вопросе, это что считать версией. Практика подсказывает, что у каждого свое видение этой простой штуки. Как сойдетесь с отцами по этому вопросу, все остальное станет проще обсуждать.
Жизнеспособность прямо пропорциональна простоте!