Skip to content

Map merge and DMI merge

DieSiege edited this page Sep 11, 2018 · 1 revision

Краткая шпаргалка по настройке dmm и dmi мержеров. Позволяет не решать конфликты в ручную, в большинстве случаев.

Настройка

  • Установите Java
  • Убедитесь что Java прописана в PATH, например в git bash выполните java -version - должно показать версию установленной Java. Если ошибка - нужно отредактировать PATH (todo: дописать как это фиксить)
  • В вашем локальном репозитории откройте текстовым редактором .git/config/ и добавьте мерж-драйверы:
[merge "merge-dmi"]
	name = iconfile merge driver
	driver = ./tools/dmitool/dmimerge.sh %O %A %B
[merge "merge-dmm"]
	name = mapmerge driver
	driver = ./tools/jmerge/mapmerge.sh %O %A %B

Теперь любые git merge операции с файлами .dmm и .dmi будут проходить через сторонний скрипт, и в большинстве случаев успешно решаться автоматически.

Map preparing

Что бы коммит с картой был чистым (дифф не на тысячи строк), выполняем:

  • Для начала перед любыми операциями с картой выполняем 1prepare_map.bat из tools/jmerge/
  • Когда работа закончена, перед тем, как сделать коммит, выполняем 2clean_map.bat из tools/jmerge/

Исходники

Исходники и оригинальные редми в папке с тулзами:
https://github.com/TauCetiStation/TauCetiClassic/tree/master/tools/dmitool
https://github.com/TauCetiStation/TauCetiClassic/tree/master/tools/jmerge
Спасибо Baystation12 за эти инструменты.