2009-11-04 2 views
2

Я работаю в среде, управляемой моделью, где Java-код создается из модели MagicDraw от AndroMDA. Модели разрабатываются итеративно, поэтому нам нужно объединить их, если мы создадим ветки. Но, как мне сказали, модели не могут быть объединены, потому что каждый раз, когда он сохраняется, каждый идентификатор каждого элемента будет заменен.Как обрабатывать неурожайные файлы в системе управления версиями?

Но я хочу использовать ветви, чтобы каждая задача была автономной и имела явную начальную точку и конечную точку.

Как вы справитесь? Это, вероятно, не технический, а организационный вопрос. Как можно исключить модель из ветвей, не нарушая их? Или есть ли какое-либо обходное решение для моделей MagicDraw?

(Offtopic:. Создаваемые файлы не проверяются)

+0

почему сгенерированный код под контролем версий в любом случае? Вы можете создавать ветви с помощью модели MagicDraw, но без сгенерированных файлов Java ... – Stan

+0

- Сгенерированные файлы не отмечены. - Я могу создать ветку с моделью, но она разработана итеративно, и из-за этого нам понадобится для объединения различных версий модели. –

ответ

2

Некоторые форматы не могут быть автоматически объединены с использованием стандартных средств управления источником. Обычные инструменты полагаются на предположение, что строка может быть вставлена, изменена или удалена, не затрагивая каждую другую строку в файле. Некоторые форматы не соответствуют этому предположению.

Иногда эти раздражающие форматы имеют свои собственные инструменты для слияния, которые могут использоваться после отказа инструмента управления источником. Я не могу найти способ предотвратить подрывную работу от попытки автоматического слияния файла (запрос функции?), Но если сбой subversion завершится, он выгрузит 2 файла в рабочей копии, представляющей 2 версии.

В этот момент, вы можете попробовать здесь: http://www.magicdraw.com/main.php?ts=navig&cmd_show=1&menu=merge

+0

Я могу отметить модель как двоичный файл, чтобы предотвратить автоматическое слияние или это вызовет проблемы? –

+0

Да, это общая идея. Просто пометьте его как двоичный, если вы не хотите, чтобы он был объединен, он просто использует новую версию для перезаписи вместо слияния, если вы ее введете/измените. –

3

Я не использовал AndroMDA, так что я не уверен, если это применимо в вашей ситуации.

Однако в общем случае, если что-либо в вашем проекте автоматически генерируется, то я бы не поставил сгенерированный вывод под контроль версии, а скорее сделал часть генерации процесса сборки.

+0

Сгенерированные файлы не отмечены. –

Смежные вопросы