Почему некоторые проекты с открытым исходным кодом не принимают запросы на извлечение, но отправляют только файлы исправлений по электронной почте

16

Почему некоторые проекты с открытым исходным кодом не принимают запросы извлечения, но требуют, чтобы участники отправляли только файлы исправлений по электронной почте? например, Git Хотя они публикуют код в github или другом распределенном хостинге scm. Отправлять файлы патчей не интерактивно и не удобно. Патч - это старомодный способ. Запросы на извлечение являются интерактивными. Другие люди также могут обсуждать.

linquize
источник
1
Посмотрев, что такое «запрос на извлечение» (никогда не использовал git, и он не является общим для всех SCM), кажется, что вы говорите: «Эй, я собираюсь внести изменения здесь!» Другие могут затем забрать его у вас, если захотят, и просмотреть его. Это работает, если вы выходите в автономный режим? Если нет, это было бы отличной причиной, чтобы предпочесть патч-письма.
Эдвард Стрендж
1
@CrazyEddie: github отправляет (или может отправлять) письмо сопровождающим проекта при отправке запроса на получение. Это электронное письмо содержит описание запроса на удаление, а также список подтверждений и измененных файлов. Очевидно, что вы должны быть в сети, чтобы получать это письмо и получать коммиты, но это верно и для писем с патчами.
Джон Варфоломей
Патч-файлы поддерживаются повсеместно. Запросы на извлечение зависят от поставщика. Почему вы ожидаете, что сопровождающие примут их?
Аноним

Ответы:

17

Это может зависеть от того, кто будет отвечать за принятие вашего запроса.

Если это Линус Торвальдс , хорошо ... старый добрый патч предпочтительнее :

Я не делаю GitHub запросов на тягу.

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

Git поставляется с хорошим модулем генерации запросов на выборку, но вместо этого Github решил заменить его на свою совершенно низшую версию.
В результате я считаю github бесполезным для такого рода вещей.

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

Он детали:

Для того, чтобы я вытащил из github, вам необходимо:

  • (a) сделайте настоящий запрос на извлечение, а не чушь, поврежденную мозгами, которую делает github, когда вы просите его запросить извлечение:
    • реальное объяснение ,
    • правильные адреса электронной почты ,
    • правильный шортлог и
    • правильный diffstat .
  • (б) поскольку идентификаторы github являются случайными, я ожидаю, что запрос на получение доступа будет подписанным тегом , чтобы я мог проверить личность данного человека.

Я также отказываюсь получать коммиты, которые были сделаны с помощью веб-интерфейса github.
Опять же, причина этого в том, что, как работает веб-интерфейс github, эти коммиты неизменно являются чушью.
Коммиты, сделанные на github, неизменно имеют совершенно нечитаемые описания, потому что github не делает ничего из простейших вещей, которые люди ожидают от сообщения коммита:

  • нет "короткого однострочного описания в первой строке"
  • нет здравого смысла переноса длинного описания, которое вы вводите: сообщения коммитов github обычно (если они вообще имеют какое-либо описание) представляют собой одну длинную нечитаемую строку.
  • никаких подписей и т. д., которые требуются для отправки в ядро.

GitHub может облегчить написание хороших сообщений коммита и обеспечить надлежащий «oneliner для шортлогов и gitkполное объяснение полных логов».
Но Github нет.
Вместо этого интерфейс gitub "commit on the web" - это одно ужасное поле для ввода текста без абсолютно никакого здравого способа написать красивое сообщение.

При вызове в текстовой области для сообщений о коммите:

@torvalds Пользовательский интерфейс коммита GitHub предоставляет текстовую область для сообщений коммита.
Это поддерживает новые строки и позволяет легко делать хорошо отформатированные коммиты :)

Нет, это не так.
Он поддерживает написание длинных строк, которые вы даже не представляете, как долго они.
Текстовая область не делает разрывов строк для вас, и вы не можете судить, куда будут переходить строки.

Другими словами, это действительно очень затрудняет выполнение «красиво отформатированных сообщений коммита».
Он также не применяет тривиальную модель «oneliner for shortlog»
, поэтому сообщения коммитов часто в конечном итоге выглядят как полная чушь в шортлогах и в gitk.

Таким образом, пользовательский интерфейс github commit должен иметь

  • отдельное однострочное текстовое окно «шортлог», чтобы люди не могли это испортить.
  • какой-то способ сделать вменяемое перенос слов в стандартную метку из 72 столбцов.
  • напоминания о подписаниях и т. д., которые необходимы некоторым проектам по конкретным или даже юридическим причинам.
VonC
источник
5
или короткая версия; тот, кто владеет проектом, может запустить его так, как хочет. Если они настаивают на том, чтобы обычная почта отправляла бумажную копию изменений, тогда вы должны будете отправить ее (как бы отсталой она ни была).
Кен Хендерсон
3
Если коммит не соответствует требованию владельца проекта, он может выбрать вишню и затем изменить коммит в соответствии с его желанием. Важно ценить любой вклад, внесенный любыми другими разработчиками. Жаль, если владелец проекта просто отклоняет вклады только из-за невыполнения формата коммита.
Linquize
1
@linquize Проектам с открытым исходным кодом, как правило, не хватает человеческой силы. Таким образом, можно сэкономить время на «выбор и изменение».
слабый
1
«писать длинные строки, которые вы не знаете, сколько они стоят». Что ж, похоже, это уже решено, теперь оно довольно строго предупреждает о слишком длинной первой строке и имеет два отдельных текстовых поля для короткого и подробного сообщения.
heltonbiker
1
Линус жалуется на реализацию github, но это не означает, что запросы на получение сообщений вообще плохие. На самом деле, действительно нужно отсылать почтовые патч-файлы вместо использования приятного интерактивного веб-интерфейса, который работает напрямую с git вместо импорта / экспорта файлов
Mike76