У меня есть текстовый файл, который мне нужно поддерживать несколько разные версии для нескольких клиентов клиентов.Содержание файла не очень важно, но я поделюсь в любом случае.Файл содержит сценарий SQL (вместе с некоторыми другими материалами), который мои клиенты загружают в локальное стороннее программное обеспечение (которое не принадлежит моей компании, и мы не имеем никакого контроля над этим программным обеспечением).Цель сценария - разрешить другому программному обеспечению выводить отчет.
Каждому клиенту требуется немного другая версия сценария.Как минимум, имя файла будет другим (содержащим имя клиента), а имя отчета (которое является текстом в файле) будет другим.Для некоторых из них SQL немного модифицирован для соответствия их среде.
Как я могу поддерживать это?Что если я хочу выпустить усовершенствование для всех моих клиентов?В настоящее время я делаю это вручную, поэтому мне нужно отредактировать каждый файл и внести расширенные изменения.
Я рассмотрел вопрос об использовании программного обеспечения для контроля версий, с одной веткой на клиента, и затем я мог бы объединить любые обновленияв каждой ветви - но я не уверен, что слияние будет достаточно точным, и поэтому не сэкономит мне время и вызовет больше головной боли.Кроме того, сможет ли это обрабатывать разные имена файлов в каждой ветви?
Любые идеи приветствуются.
Обновление: Ниже приведены два упрощенных примера.
Имя файла: sql_abcclient_system2.txt
//Title
ABCClient Report
//end Title
SELECT site.name, site.phone
FROM site
WHERE site.type IN (1, 2, 3)
Имя файла: sql_xyzclient_system3.txt
//Title
XYZClient Report
//end Title
SELECT site.name, isnull(site.phone, 'no-phone'), site.status
FROM site
WHERE site.type IN (1, 2)
Кроме того, звучит разумно для храненияопределенные параметры в базе данных или конфигурационном файле, такие как имя клиента.Но я не уверен, что это будет возможно для других изменений в файле, таких как изменения в SQL.