Получить список изменений файлов в одном результирующем текстовом файле
Получить список изменений файлов в одном результирующем текстовом файле ИМХО 2 вида отчета нужны:
-
- простой/быстрый = те отличия, что показываются на верхнем уровне
-
- подробный/более медленный = подробное отличие всех метаданных
Например, в форме v8Reader, где метаданные (деревья), нажать "вывести список", выбрать вариант "текстовый документ". Получаем результат:
Структура первой обработки Структура второй обработки Есть изменения Путь первого объекта Путь второго объекта
xddDataFixtureGen xddDataFixtureGen 1 d0ac533a-c210-47e2-94e1-6d5329bcc033 a764486e-0ec8-42b4-8434-355f1cc2c4d5
Модуль объекта Модуль объекта 1 54f1dec0-8f13-4065-9f45-0e74788142d2.0 2bea54fe-a179-43e6-9377-9255a9ca2e4a.0
Реквизиты Реквизиты
ЕстьВстроеннаяОбработка_юТест ЕстьВстроеннаяОбработка_юТест 1
Табличные части Табличные части
ТаблицаДанных ТаблицаДанных
Ссылка Ссылка 1
Метаданное Метаданное 1
ИмяПеременной ИмяПеременной 1
ВыгружатьКод ВыгружатьКод 1
РежимПоиска РежимПоиска 1
РежимСоздания РежимСоздания 1
Формы Формы
УправляемаяФорма УправляемаяФорма 1 103ebd31-7643-4b1a-ba8b-4c789efcb71f 57f8e960-e897-4dab-8f8f-29103028a3e9
Форма Форма 1 103ebd31-7643-4b1a-ba8b-4c789efcb71f.0 57f8e960-e897-4dab-8f8f-29103028a3e9.0
Макеты Макеты
СозданиеПростогоСправочника СозданиеПростогоСправочника 1 efa2b5fc-de31-4695-a81b-8acc1a24d8f8 a8aa8b25-c3a6-4bee-8f5e-38f0b98b548f
СозданиеПростогоСправочника_ПредставлениеНеИдентификатор <Отсутствует> 3
Макет <Отсутствует> 3
полученный лог сравнения можно юзать для автоматических тестов. т.е. в макеты заносим текст лога и разные варианты файлов, затем при прогоне теста запускаем ридер, поулчаем лог и сверяем его с эталоном. если расхождение нет, то тест пройден очень просто и удобно
А почему не стандартный diff или patch формат ? http://www.adminworld.ru/freebsd/ispolzovanie-kommand-diff-i-patch.html
В прошлый раз я наглым образом брал исходники вот отсюда https://code.google.com/p/google-diff-match-patch/
- ИМХО Нагляднее всего "человеческое" представление. Потом проще анализировать, если теста сравнения с эталоном падает и нужно понять разницу.
- Мы же говорим про файлы 1С, а в них достаточно часто меняется внутреннее представление или ГУИД-ы. В текстовом представлении можно попробовать их пропускать.
@allustin Но вариант с дифф/патчем мне понравился, спасибо! Он вполне возможен для быстрого прогона тестов и получения быстрого ответа, совпадают ли результаты работы v8reader c эталонным результатом.
@bambr1975 ИМХО Нужно прикинуть, какой вариант реализации проще и быстрее сделать, затем сделать простейший тест сравнения с эталоном, реализовать, и прогнать тест.
Тест я готов сделать.
@allustin Все-таки не в тему в этой задаче дифф/патч. нам ведь нужно протестить работу своего дифф, а не сравнить какие-нибудь файлики :)
@artbear Скорее всего, локально не в тему. Но для достижения синергии, хотелось текстовый вывод максимально приблизить к подобным же форматам. Я как раз имел ввиду больше формат patch.
Это меня также волнует в свете http://v8.1c.ru/o7/201410ext/index.htm - фактически это не управление расширениями, а управление патчами на основную конфигурацию. В том числе патчами на формы.