Git и без отрицания

[АРХИВИРОВАНО] Последнее обновление от Joe Schaefer на вс, 28 апр. 2024    источник
 

Это эссе действительно относится к DVCS в целом, а не только к git per se. Но мы сосредоточим внимание на git, потому что он остается самым популярным DVCS на сегодняшний день.

Без отрицания.

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

с git или распределенным управлением версиями в целом, Существует четкое различие между историей «обязательства» и историей «загрузки» — который я буду называть «пуш-пластинками». Фиксации в git не проходят аутентификацию, поскольку они происходят локально с локальными, непроверенными метаданными, добавленными в историю. Шаг загрузки, ака толчок

С Фонд программного обеспечения Apache.

Почему это важно? Ну, для начала позвольте мне обратиться к распространенному заблуждению о необходимости лицензионных соглашений участника (ICLA) для пользователей Apache. Многие люди, кажется, не понимают, что в отношении отдельных произведений автора, нет никакой разницы между применимым языком в ICLA и Лицензия Apache 2.0.

То, что предоставляют push-записи, – это способ отслеживания каждой строки кода в выпуске, отдельного коммиттера, ответственного за передачу этого кода в репозиторий Git ASF. Это критически важно при определении происхождения стороннего вклада с помощью git, потому что, к сожалению, такой участник может «отходить» от своего вклада в проект git из-за распределенного характера журналов фиксации DVCS. Ответственная сторона, согласно ICLA, становится ответственным лицом, которое выдвинуло код.

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

Без этого нам нужно было бы поручить, по крайней мере, PGP, подписывать обязательства каждого участника, что обременительно для многих проектов. Записи фоновой рассылки обеспечивают прозрачный процесс, который не влияет на поток операций проекта, за исключением того, что Git-репо ASF является истинным главным репозиторием.

$Дата: 2023-01-19 22:58:40 +0000 (Чт, 19 янв 2023) $