Como marcar arquivos para gerenciar o resultado do diff

1

Meus colegas estão mantendo um arquivo de configuração, que é implantado em ambientes de produção / teste / preparação pelo SaltStack. Eu estou mantendo este arquivo usando diff para ver o que mudou e codificar o snippet jinja apropriado.

O nome do arquivo é program.conf e a versão do SaltStack é program.conf.jinja .

program.conf tem linhas do formulário:

variable = "value"

program.conf.jinja é:

variable = "{{ value }}"

Do ponto de vista do diff, eles são diferentes. Mas do meu ponto de vista, eles são iguais. Eu estou procurando um recurso pragma-like onde eu posso dizer marcar o arquivo jinja da seguinte forma que eu não vou conseguir isso na saída do diff:

variable = "{{ value }}" # pragma-same: variable = "value"

Eu também usarei esse utilitário para gerar alertas para forçar as pessoas a atualizar o arquivo jinja para qualquer variável ausente.

variable = "value" às vezes resolve-se para estrofes mais complexas como:

{% if pillar.get(...) %}
variable = {{ value }}
{% else %}
variable = {{ value + 2 }}
{% endif %}
    
por Can Burak Çilingir 14.07.2014 / 17:01

1 resposta

1

Você estaria disposto a criar um arquivo temporário normalizado e compará-lo com isso?

sed 's/{{ \(.*\) }}//' program.conf.jinja > temp  &&  diff program.conf temp
    
por 14.07.2014 / 22:47

Tags