Harness de uso¶
O repositório separa a ferramenta do teu uso:
src/xmldiffreport/ a ferramenta instalável (motor, recipes, CLI) — genérica
usage/ um harness guiado por config para correr nos TEUS ficheiros
A ferramenta em src/ não sabe nada das tuas pastas. A pasta usage/ é a fina
camada que adaptas — útil quando preferes guardar caminhos e opções num ficheiro
em vez de os escrever na linha de comandos.
Configurar¶
# usage/config.toml (caminhos relativos a ESTE ficheiro)
recipe = "controlm"
report_dir = "reports"
format = "md" # ou "html"
# Ficheiros e/ou diretórios a comparar (diretórios são varridos recursivamente).
inputs = [
"/data/ctm/uat",
"/data/ctm/bench",
"/data/ctm/prod",
]
Correr¶
O collect.py recolhe todos os *.xml dos inputs listados, corre o diff e
escreve um relatório com timestamp em report_dir. Código de saída 1 se houver
diferenças.
Um fluxo Control-M típico¶
- Cada patch (um JIRA) leva os
SMART_FOLDERalterados como anexo XML. - Descarregas os anexos para pastas (uma por fonte — ex.
uat/,bench/,prod/) e listas essas pastas eminputs. - Corres o
collect.pyantes de promover um patch. - O relatório mostra cada folder que aparece em 2+ ficheiros e difere, uma coluna por ficheiro. Sabes qual ficheiro é qual (cada coluna é o caminho), por isso decides o que é uma colisão a bloquear e o que é esperado.
Privacidade¶
usage/config.toml, usage/reports/ e qualquer *.xml colocado sob usage/
estão fora do git — os teus caminhos e dados reais nunca são commitados.