Почему .gitattributes применяется только к файлам, добавленным к repo после определения его?

Вы можете использовать инструмент GetFACL инструмент с помощью -R Ecursive Option, -S -S файлы KPIBEING, которые имеют только базовый ACL и трубу вывода на grep .

Например, следующая команда выполняется под / dev каталог , дает мне:

$ getfacl -Rs . | awk -v RS= -v ORS='\n\n' '/\nuser:jimmij:rw-\n/'

# file: sg1
# owner: root
# group: cdrom
user::rw-
user:jimmij:rw-
group::rw-
mask::rw-
other::---

# file: sr0
# owner: root
# group: cdrom
user::rw-
user:jimmij:rw-
group::rw-
mask::rw-
other::---

(...)

получить только имена файлов, напечатанные:

getfacl -Rs . | awk -v RS= '/\nuser:jimmij:rw-\n/ {sub(/\n.*/, ""); sub(/^[^:]*: /, ""); print}'
0
28.01.2015, 11:00
1 ответ

По моему опыту, типично не применять правила задним числом к файлам, уже находящимся в репозитории. То же самое происходит с git и mercurial, когда вы пытаетесь игнорировать файлы с определённым паттерном.

Преимущество, как я вижу, игнорирования файлов WRT, заключается в том, что он позволяет легко переопределить стандартное правило, добавляя вручную файлы, которые требуют включения.

Для изменения стратегий слияния может быть некоторое преимущество изменения всех файлов за один раз, и я не уверен, почему git заставляет вас удалять и добавлять файлы заново, вместо того, чтобы использовать некоторую опцию принудительного применения (или, может быть, она есть, и я не нашел её в джунглях, называемой документацией к git'у).

1
28.01.2020, 02:51

Теги

Похожие вопросы