Линус Торвальдс вставит драйвер NTFS Paragon Software в исходный код ядра 5.15, но он пожаловался на использование слияния GitHub в представлении, заявив, что GitHub «создает абсолютно бесполезные слияния мусора».
В начале прошлого месяца Торвальдс подтолкнул Paragon Software к тому, что ей действительно следует отправить запрос на перенос – фактическую отправку кода, который будет объединен с исходным кодом ядра, – чтобы его драйвер NTFS для чтения и записи был включен в предстоящий выпуск 5.15 для которое окно слияния открыто в данный момент. NTFS – это собственная файловая система Windows, и реализация Paragon улучшит взаимодействие по сравнению с существующим драйвером, который имеет ограниченную поддержку записи.
В пятницу Paragon должным образом представил свой пул-реквест, заявив: «Текущая версия работает с обычными / сжатыми / разреженными файлами и поддерживает acl, воспроизведение журнала NTFS».
Тем не менее, компания все еще вплотную подходит к процессу подачи заявок, и Торвальдс должен был сделать несколько замечаний, направленных на улучшение будущих запросов на вытягивание.
Во-первых, он сказал, что запрос на перенос должен быть подписан. «В идеальном мире это была бы подпись PGP, которую я мог бы проследить прямо до вас через цепочку доверия, но на самом деле я никогда не требовал этого», – сказал он.
Во-вторых, он отметил, что код в запросе на включение включает коммиты слияния, выполненные с помощью веб-интерфейса пользователя GitHub. «Это еще одна из тех вещей, которые я * действительно * не хочу видеть – github создает абсолютно бесполезные слияния мусора, и вы никогда не должны использовать интерфейсы github для слияния чего-либо», – сказал он.
Добавил он: “[G]ithub – отличный хостинговый сайт, и он отлично справляется со многими другими вещами, но слияние – не одна из этих вещей “.
Торвальдс и раньше жаловался на аспекты GitHub, заявив в 2012 году: «Я не выполняю запросы на вытягивание с github. Github отбрасывает всю соответствующую информацию, например, наличие даже действительного адреса электронной почты для человека, который просит меня выполнить запрос. неполноценный и бесполезный “.
Обратите внимание, что команда git request-pull отличается от функции запроса на вытягивание GitHub. В следующей прямой ветке есть дополнительная информация по этому поводу.
В-третьих, в репозитории Paragon есть сообщения о фиксации, в которых отсутствует информация, например «Объединить ветку torvalds: master в master».
Торвальдс сказал, что «слияние ядра Linux должно выполняться * правильно *». Он добавил: «Это означает правильные сообщения фиксации с информацией о том, что объединяется и * почему * вы что-то объединяете. Но это также означает правильную информацию об авторстве и коммиттере и т. Д. Все это github полностью портит».

Не делайте этого: слияние с использованием пользовательского интерфейса GitHub
Тем не менее запрос на вытягивание был объединен. «Первоначальный запуск часто имеет несколько странностей, и я приму их сейчас, но для продолжения разработки вам нужно все делать правильно», – сказал Торвальдс.
Пример хорошо прокомментированного изменения пришел вчера от Торвальдса, когда он внес поправки в Makefile, используемый для компиляции ядра, чтобы он «включал ‘-Werror’ по умолчанию для всех сборок ядра … но сделал это параметром конфигурации, чтобы сломанные среды могли его отключить. при необходимости “.
Значение -Werror – «Превратить все предупреждения в ошибки», требуя более строгой дисциплины для кода, который в противном случае компилируется, но с предупреждениями о неоптимальном коде.
Торвальдс добавил, что «мы… при необходимости отключим определенные чрезмерно нетерпеливые предупреждения, если не сможем их исправить».
«Надеюсь, это будет означать, что я буду получать меньше запросов на вытягивание с новыми предупреждениями, которые не были замечены различными автоматическими системами, которые у нас есть… Стукните по дереву», – сказал он. ®