Пробелы в шаблонах .gitattributes

Я пишу несколько инструментов для git, которые используют фильтры smudge / clean и поэтому я должен создать записи в файле .gitattributes.

К сожалению, этот файл анализируется довольно просто путем разделения на пробелы, поэтому мне не кажется возможным включить явный пробел в шаблон.

Я заменял пробельные символы на ?, который снова соответствует нулю или одному символу.

Следовательно, образец has?spaces будет соответствовать моему целевому имени файла has spaces, но также и hasspaces.

Есть ли способ сопоставить только пробелы, или я застрял на почти совпадении?


person Mike Boers    schedule 18.09.2013    source источник


Ответы (1)


Вы можете попробовать, как часть вашего шаблона:

[[:space:]]
# as in
has[[:space:]]spaces

На странице руководства по gitattributes упоминается пример с ним.
И шаблоны тестов также включают несколько примеров:

match 1 x ' ' '[[:digit:][:upper:][:space:]]'
person VonC    schedule 18.09.2013
comment
Это соответствует меньшему количеству вещей, но все же может захватывать (ужасно названные) файлы с вкладками и новой строкой в ​​них. Возможно, этого достаточно ... - person Mike Boers; 18.09.2013
comment
@MikeBoers, однако, он должен ответить именно на тот вопрос, который вы изначально задали. - person VonC; 18.09.2013
comment
+1, использование [[:space:]] или [[:blank:]] в настоящее время, вероятно, является лучшим доступным решением. Возможно, в конечном итоге мы увидим исправление true для проблема в одной из следующих версий Git. - person Chriki; 17.04.2014