W praktyce nie wiedziałem gdzie wstawić temat i po głębszym przemyśleniu trafiło na ten dział.
Więc tak, mam model bazy danych dodany do repo gitowego (niestety nie przechodzi pomysł umieszczenia go gdzie indziej bo "inni też modyfikują bazę danych i musimy mieć nad tym kontrolę"), za każdą zmianą w modelu generował on konflikty które trzeba było ręcznie rozwiązywać, co jest baaaaaardzo uciążliwe...
Sam plik *.mwb (nie wiem czy ktoś przy nim ręcznie grzebał) jest plikiem zip, po wypakowaniu uzyskujemy:
Kod
/lock
/document.mwb.xml
/@db/data.db
/document.mwb.xml
/@db/data.db
W praktyce, z moich doświadczeń wynika iż interesuje nas plik document.mwb.xml o zawartości zbyt dużej żeby wstawić go tutaj na forum. Podczas testów na samym pliku .xml zauważyłem że jest pewna zależność która powoduje konflikty i tym samym uniemożliwia automatyczny merge zmian (byliśmy skłonni trzymać model w wersji .xml...) mianowicie:
<value type="object" struct-name="workbench.Document" id="{7054F7CC-AF4E-4237-BAE3-604A4FC1B6F5}" struct-checksum="0x7131bf99">
Za każdym zapisem struct-checksum miał inną wartość, a że występuje praktycznie wszędzie, to GIT rozpoznawał to jako zmianę całego dokumentu i sypał błędami. W praktyce po długich kombinacjach, wertowaniu googla, potem pisaniu wyrażeń regularnych czyszczących w/w atrybut przed commitem/pushem rozwiązało problem na tyle, aby później wygenerować inny hash dla każdego pola. Warunek był jeden - musi być on unikalny.
Tak więc niejako problem mógłbym określić jako "zakończony", ale zawiera on tyle kombinacji że ręce opadają.
Borykał się ktoś z tytm problemem? Może macie lepsze, łatwiejsze, wygodniejsze, jakiekolwiek inne rozwiązanie które ułatwiło by pracę z tym oto pliczkiem?
Dzięki i pozdrawiam