2009-03-10 2 views
8

У меня возникли проблемы с DBML. Каждый раз, когда команде необходимо синхронизировать изменения в SVN, DBML изменяется, что создает множество конфликтов. Кажется, что это связано с некоторой перестановкой в ​​редакторе dbml, поскольку большинство разделов associationConnector в .dmbl.layout, похоже, меняются во время разработки, если вы открываете файл dbml в редакторе.Изменения и управление DBML

Есть ли у вас какие-либо рекомендации, чтобы избежать этих перестроек, которые могут потребовать более одного часа для исправления?

С наилучшими пожеланиями, Густаво

ответ

1

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

+0

У нас есть все сценарии. Я согласен с тем, что вы сказали, но что, если разные люди меняют одни и те же таблицы, требуя слияния, но в то же время имея много конфликтов, вызванных перестановкой разъемов? – Gustavo

+0

В описываемом вами сценарии: если люди не меняют таблицы, просто перемещать их по .dbml не будет, и вы можете игнорировать это. Если изменится .dbml, вам нужно будет слить. –

+0

Если я попробую слияние, я разрешу проблему с новыми полями/таблицами, но я получу дубликат ассоциацииConnector, такой как этот: Gustavo

3

Если вы хотите использовать KDiff3, вы можете настроить команду предварительного процессора для сортировки файла dbml перед слиянием. Я разместил руководство в своем блоге по адресу http://blog.trumpi.co.za/the-one-tip-that-i-wish-i-knew-years-ago-that-merges-easier/. Инструкции для git, но я знаю, что TortoiseSVN можно настроить так же, как слияние dbml в KDiff3.

+1

Это лучшая вещь, поскольку нарезанный хлеб! – Molibar

+0

Ссылка мертва. Вот архивная версия. http://archive.is/ESFCz –