Как мне защитить определенный файл от обработки фильтром git?

Скажем, у меня есть фильтр git, который очищает XML-файлы, используемые в моем проекте. Конфигурация делается так:

*.xml filter=clear-xml

На шаге clean фильтр проверяет, есть ли в конце файла пустая строка, и если нет, то добавляет ее. Часть smudge фильтра ничего не делает.

Теперь есть этот единственный уникальный файл XML, который генерируется без пустой строки в конце. Этот файл не должен обрабатываться фильтром clear-xml.

Как бы я подошел к этой проблеме?


person eckes    schedule 23.12.2014    source источник


Ответы (1)


Как показано в разделе "Применить несколько фильтров для одних и тех же файлов в git", вы не можете объединить несколько фильтров: применяется последний.

Это означает, что вы можете объявить второй фильтр "noop" (тот, который ничего не делает) специально для вашего файл.

*.xml filter=clear-xml
yourFile.xml filter=noop
person VonC    schedule 23.12.2014
comment
какое счастье, что у меня все равно есть специальный фильтр, обрабатывающий этот файл. Просто поменял местами последовательность в .gitattributes и все работает. Спасибо! - person eckes; 23.12.2014
comment
@eckes здорово! Это подтверждает, как обрабатываются фильтры (я не видел, чтобы порядок обработки был явно задокументирован в git-scm. com/docs/gitattributes#__code_filter_code) - person VonC; 23.12.2014