.gitattributes лингвистические атрибуты стандарт - PullRequest
0 голосов
/ 02 июня 2018

Я только что создал новый проект Laravel и настраиваю свои .gitattributes атрибуты Linguist.Проблема в том, что я не уверен, какие из них установить для каких файлов / каталогов.

Файл .gitattributes по умолчанию выглядит следующим образом:

* text=auto
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
CHANGELOG.md export-ignore

Прежде всего, почему всеДля файлов .css, .scss и .js установлено значение linguist-vendored?Это не только исключит все такие созданные пользователем файлы из Linguist, но Laravel также имеет соответственно только 1, 2 и 4 из этих файлов, как это существенно повлияет на статистику Linguist?

Во-вторых, существует ли какое-либо соглашение /стандарт относительно того, какие файлы должны быть помечены как linguist-vendored?Должен ли я отмечать все файлы Laravel, только те, которые я не изменяю, только каталог vendor или ни одного вообще?А может, даже что-то еще?

Заранее спасибо!

1 Ответ

0 голосов
/ 02 июня 2018

Прежде всего, почему все файлы .css, .scss и .js установлены на linguist-vendored?

Из того, что я понимаю, читая комментарии к коммитам e3630a5 и 93876d6 , авторы хотели убедиться, что проекты Laravel помечены как PHP (GitHub тегирует проекты с первым языком из статистики языка).

Мало того, что это исключит все такие созданные пользователем файлы из Linguist, но Laravel также имеет соответственно только 1, 2 и 4 из этих файлов, как это значительно повлияет на статистику Linguist?

В Linguist статистику языка получают из размера файлов для каждого языка (вы можете прочитать мой ответ на , как Linguist работает для получения более подробной информации).Таким образом, один большой файл может изменить статистику языка .

В случае Laravel, если я удаляю переопределения Linguist и снова запускаю Linguist в репозитории, я получаю следующую статистику:

94.11%  PHP
3.30%   HTML
1.42%   JavaScript
0.68%   Vue
0.49%   CSS

Так что нет необходимости использовать переопределения Linguist, чтобы пометить хранилище как PHP.Возможно, что при добавлении переопределений были файлы большего размера.

Обратите внимание, что хранилище Laravel содержит два больших уменьшенных файла.Лингвист признает, что они минифицированы, и помечает их как сгенерированные, таким образом, автоматически исключая их из статистики.

Во-вторых, существует ли какое-либо соглашение / стандарт в отношении того, какие файлы должны быть помечены как linguist-vendored?Должен ли я отмечать все файлы Laravel, только те, которые я не изменяю, только каталог vendor или ни одного вообще?Или, может быть, еще что-нибудь?

Это действительно ваше дело;Насколько я знаю, не существует соглашения о том, что представляет собой продаваемый код .

В Linguist мы пытаемся пометить как продаваемый весь сторонний код, который может повлиять настатистика, но не была создана владельцем хранилища.Вы можете изменить поведение по умолчанию с помощью переопределений.

...