Написать пост

Google представила вторую версию протокола Git

Аватар Азат Вильданов

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

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

Основные улучшения

В прошлой версии для ответа на команду извлечения сервер перебирал все ссылки в репозитории. Это приводило к увеличению времени выборки, а также влияло на пропускную способность. Использование в Google протокола второй версии в три раза увеличило производительность. Также протокол позволил сократить 8 служебных байтов, отправленных с серверов googlesource.com.

Можно выделить основной перечень улучшений:

  • серверная фильтрация ссылок;
  • легкая расширяемость для новых функций: ref-in-want и извлечение и размещение symref;
  • упрощенная обработка клиента при применении в качестве транспорта HTTP.

Как использовать вторую версию протокола Git

Для использования обновленного протокола нужен обновленный Git и сервер с поддержкой актуальной версии. При этом должны быть включены репозитории на googlesource.com и хранилище с облачными источниками.

Если включить трассировку и запустить команду ls-remote, можно увидеть преимущества версии 2. В сравнении с протоколом предыдущей версии сервер отправляет гораздо меньший набор ссылок:

			# Using the original wire protocol
GIT_TRACE_PACKET=1 git -c protocol.version=0 ls-remote https://chromium.googlesource.com/chromium/src.git master
# Using protocol version 2
GIT_TRACE_PACKET=1 git -c protocol.version=2 ls-remote https://chromium.googlesource.com/chromium/src.git master
		

Более подробная информация о протоколе доступна в спецификации.

Поддержка версии 2 была недавно объединена с ведущей веткой Git. Как ожидается, она станет частью версии Git 2.18.

Ранее компания в своем блоге Google Open Source рассказала об открытии доступа к iOS-фреймворку GTXiLib, который автоматизирует тестирование функций для людей с ограниченными возможностями. Он указывает на такие неполадки, как низкоконтрастный текст, утерянные метки и подсказки.

 

Следите за новыми постами
Следите за новыми постами по любимым темам
10К открытий10К показов