После трех месяцев разработки выпуск новой версии распределенная система управления версиями Гит 2.41. По сравнению с предыдущей версией, принято 542 изменения в новой версии, подготовленной при участии 95 разработчиков, из которых 29 участвовали в разработке впервые.
Для тех, кто не знает о Git, вы должны знать, что одна из самых популярных систем контроля версий, надежное и высокопроизводительное программное обеспечение, предоставляющее гибкие инструменты нелинейной разработки, основанные на разветвлениях и слияниях разветвлений.
Основные новые функции Git 2.41
В этой новой версии выделяется, что обработка «недостижимых» объектов была улучшена до не упомянутые в репозитории (без ссылки на ветки или теги). Сборщик мусора удаляет объекты, но они остаются в репозитории в течение определенного времени, прежде чем будут удалены, чтобы избежать состояния гонки.
Чтобы отслеживать период объектов, теги должны быть прикреплены к ним со временем изменения однотипных объектов, что не позволяет хранить их в пакетном файле, в котором все объекты имеют общее время изменения.
Раньше каждый объект хранился в отдельном файле, что вызывало проблемы, если появлялось большое количество новых объектов, которые еще не подлежали удалению. В новой версии Крафт Паки по умолчанию используются для упаковки объектов «недостижимый«, что позволяет хранить все объекты в пакетном файле и отражать данные о времени модификации каждого объекта в отдельной таблице, хранящейся в файле с расширением «.mtimes» и связанной индексным файлом с расширением «.idx» «.
Еще одно изменение, которое выделяется в этой новой версии, заключается в том, что обслуживание revindex на диске включено для файлов пакетов. При тестировании в репозиториях Torvalds/Linux упоминается, что использование обратного индекса разрешено ускорить операции git push которые потребляют много ресурсов в 1,49 раза, и простые операции, вроде вычисления размера одного объекта с помощью «git cat-file –batch=’%(размер объекта:диск) «77 раз.
Обратный индекс включен в новую версию направлена на оптимизацию процесса определения идентификации объекта из информации о расположении объекта в файле пакета. Операция построения индекса сводится к построению массива пар «позиция объекта» и сортировке их по положению, что может занять много времени для больших файлов пакетов.
Например, операция отображения содержимого объектов, использующая прямой индекс, была в 62 раза быстрее, чем операция отображения размера объектов, для которых данные сопряжения объектов не индексировались. После использования обратного индекса эти операции стали занимать примерно одинаковое время. Обратные индексы также позволяют ускорить операцию отправки объекта, выполняя команды выборки и отправки путем прямой передачи подготовленных данных с диска.
Также подчеркивается, что в Git 2.41 добавлена поддержка передачи заголовков WWW-Authenticate между обработчиком учетных данных и службой аутентификации к протоколу «помощника учетных данных», который используется для передачи учетных данных при доступе к репозиториям с ограниченным доступом. Совместимость с заголовком WWW-Authenticate позволяет передавать параметры области OAuth в отдельный пользовательский доступ более детальным образом к репозиториям и разграничить области, доступные для запросов.
Из другие изменения, которые выделяются новой версии:
- Добавлена опция формата «%(впереди-позади: )» по команде для каждой ссылки, это позволяет вам получить немедленную информацию о количестве коммитов, присутствующих или отсутствующих в определенной ветке, относительно другой ветки.
- Добавлена опция «-фарфор» по команде «git fetch», который генерирует вывод в формате « », менее читаемый, но более удобный для разбора в скриптах.
- Конфигурация добавлена «fetch.hideRefs» для ускорения операциймерзавец принести» скрытие части ссылок в локальном репозитории на этапе проверки того, что сервер отправил полный набор объектов, что экономит время, ограничивая проверку только теми серверами, с которых напрямую извлекаются данные.
Команда «мерзавец fsck» реализует возможность проверки на наличие повреждений, совпадения контрольных сумм и проверки значений растровых изображений доступности и обратных индексов. - Команда «git клон —local» теперь показывает ошибку при попытке копирования из репозитория, содержащего символические ссылки внутри $GIT_DIR.
Наконец, если вам интересно узнать об этом больше, вы можете ознакомиться с подробностями По следующей ссылке.