Работаю с IBM Rational Functional Tester.
В нём есть .rftmap файлы - XML с данными для распознавания UI элементов на страницах. В тестируемом приложении происходят изменения, нужно менять свойства UI элементов чтобы они правильно находились на новом месте.
Когда я вношу изменения в .rftmap файлы с помощью редактора среды RFT, то хочу потом в понятном виде просматривать эти изменения в системе контроля версий. Например, я поменял некое своейство CaseSensitive с true на false, в XML это выражается в замене значений внутри некоего тега:
"<CaseSensitive>true</CaseSensitive>" изменено на "<CaseSensitive>false</CaseSensitive>"
Проблема в том, что редактор среды RFT всегда сохраняет .rftmap файлы в XML без форматирования и переноса строк (т.е. "всё в одну строку"), и когда я потом смотрю это в системе контроля версий (Mercurial в моём случае), то вижу только что одна огромная строка заменилась на другую, хотя на самом деле поменялось только одно значение в одном теге.
Я нашёл утилиту, которая может форматировать XML И разбивать его на строки (XMLStarlet), и если каждый раз перед заливкой форматировать XML таким образом, то строки с внесёнными изменениями становятся ясно видны в системе контроля версий. Но это конечно создаёт дополнительные сложности при обновлении проекта тестов. И как потом выяснилось, .rftmap это не единственный такой тип файлов, есть ещё несколько подобных.
Отсюда вопрос, стоит ли вообще отслеживать изменения в .rftmap файлах и подобных, или лучше плюнуть на это и обращаться с ними как с "binary"-файлами, не делать merge а просто заменять всю версию целиком?