|
Развитие сравнения/объединения модулей 8.3.6 | ☑ | ||
---|---|---|---|---|
0
Адимр
07.10.15
✎
11:49
|
Смущает что в качестве достоинства указывают, отображение только пересекающихся изменений.
Но разве флажок отображать только дважды измененные это не то же самое? Кто нибудь активно использует внешние программы для сравнения? Есть ли реальное преимущество? http://v8.1c.ru/o7/201404merge/index.htm Однако в п.3 использование внешних программ позволяет значительно сократить ваше участие в обновлении конфигурации. В случае 1С:Предприятия в трёхстороннем объединении участвуют: основная конфигурация, старая конфигурация поставщика и новая конфигурация поставщика. Алгоритм, который используют внешние программы для такого объединения, отличается от алгоритма, используемого встроенными инструментами платформы. Файл, являющийся общим предком (старая конфигурация поставщика), они сравнивают с двумя другими файлами (основной конфигурацией и новой конфигурацией поставщика). Из основной конфигурации и новой конфигурации поставщика они берут изменения, если эти изменения не пересекаются. А если они пересекаются, то это конфликт, который вы должны разрешить вручную. |
|||
1
Dmitrii
гуру
07.10.15
✎
11:55
|
(0) Да. Использую KDiff3.
Идеально подходит для трехстороннего сравнения модулей при обновлении сильнопереписанной типовой конфигурации на поддержке (сравнение старого модуля поставщика, нового модуля поставщика и модуля в основной текущей конфе). Кстати как раз такой случай описан в самом конце статьи по твоей ссылке. Кстати остальные программы, предлагаемые 1С, этого (трехстороннего сравнения) толком делать не умеют. Только KDiff3. |
|||
2
Dmitrii
гуру
07.10.15
✎
12:04
|
(0) > разве флажок отображать только дважды измененные это не то же самое?
Это вообще другое. Есть у тебя модуль, в котором ты что-то изменил. В новом релизе поставщик тоже что-то изменил в этом модуле. Налицо двойное изменение. При указании фильтра "только дважды измененные" ты увидишь этот модуль в окне сравнения-объединения. Если двойные изменения внесены в различных процедурах и функциях, то вопрос решается простым включением/выключением нужных процедур и функций. Но если одну и ту же процедуру поменял и ты и поставщик, то раньше ты должен был принимать решение что с этим делать - объединить с каким-либо приоритетом и потом вручную разгребать все места, где появился комментарий MRG, либо не обновлять эту процедуру и тащить все изменения поставщика вручную, либо обновлять а потом восстанавливать свои дописки опять таки вручную. Даже возможность редактировать результат объединения модулей в процессе сравнения объединения не всегда эту проблему решает, если объем изменений большой. Теперь у тебя есть возможность во внешней программе построчного сравнения текстов модулей и для каждой строки (блока строк) выбирать откуда брать код в результат - из модулей поставщика (старого или нового) или из твоего, или вообще ручками написать свой новый код. |
|||
3
Адимр
07.10.15
✎
12:05
|
(1) Так чем флажок "отображать только дважды измененные" не подходит?
Или ты еще какие скрипты используешь дополнительно? |
|||
4
Dmitrii
гуру
07.10.15
✎
12:13
|
(3) см.(2)
Необходимость трехстороннего сравнения во внешней программе - это частный случай решения проблем в дважды измененных модулях. Именно частный случай, т.к. в большинстве случаев вполне достаточно штатных инструментов конфигуратора при сравнении-объединении текстов модулей. Внешняя программа нужна для случаев значительного количества изменений в одних и тех же процедурах в твоей конфе и конфе поставщика. |
|||
5
Адимр
07.10.15
✎
12:26
|
(2) Теперь вроде понятно.
У 1С до уровня процедур/функций можно сравнивать и объединять, а у сторонних программ вплоть до строчки кода можно. Спасибо. |
|||
6
Адимр
09.10.15
✎
15:00
|
(1) Столкнулся с ситуацией, что kdiff3 0.9.97 (32 bit) зависает на 3000 строках при попытке сравнить построчно.
В последней версии нет русского интерфеса. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |