The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

18.05.2018 21:50  Представлена вторая версия протокола Git

Разработчики из компании Google представили вторую версию коммуникационного протокола Git, который используется для обмена данными при удалённом подключении клиента к Git-серверу. При подготовке второй версии основное внимание было уделено повышению эффективности обмена данными, оптимизации для работы поверх HTTP и решению проблемы с расширяемостью. Реализация нового протокола уже принята в основной состав Git и ожидается в версии Git 2.18.

Среди ключевых новшеств отмечается обеспечение возможности фильтрации ссылок (веток и тегов) на стороне сервера, что позволяет отсеивать ссылки на удалённой стороне без необходимости загрузки списка всех ссылок. В первой версии протокола полный список ссылок в репозитории всегда отправлялся клиенту при выполнении любой команды извлечения, даже когда клиент обновлял только одну ветку ("git fetch origin master").

Для репозиториев, содержащих сотни тысяч ссылок (например, в репозитории Chromium насчитывается более 500 тысяч веток и тегов), сервер вынужден был передавать десятки мегабайт лишних данных, которые просто игнорировались на стороне клиента. Все эти заведомо ненужные данные приводили к напрасной трате времени и пропускной способности, особенно когда клиент обновлял в большом репозитории ветку с несколькими коммитами или просто проверял актуальность своей копии репозитория. Внедрение второй версии протокола в Google позволило до трёх раз ускорить выполнения холостых запросов (при отсутствии изменений) в репозитории Chromium и до восьми раз сократить объём трафика, отправляемого с серверов googlesource.com.

Вторым важным улучшением стало предоставление средств для расширения протокола, дающих возможность добавлять в протокол новые возможности по мере расширения функциональности инструментария. Например, расширения позволили добавить поддержку извлечения и отправки (fetch/push) символических ссылок (symref). Новая версия протокола также переработана для упрощения обработки соединений на клиентской стороне при применении в качестве транспорта HTTP (удалённый обработчик теперь функционирует как прокси).

При реализации второй версии протокола пришлось искать обходные пути для решения проблемы с отсутствием механизма согласования версии протокола между клиентом и сервером. Для транспорта "https://" выход был найден в форме добавления при запросе нового HTTP-заголовка "Git-Protocol: version=2", указывающего на поддержку второй версии протокола. Для транспорта "ssh://" передача версии протокола реализована через установку переменной окружения "GIT_PROTOCOL=version=2" на удалённой стороне после соединения (требует разрешения установки своих переменных окружения в конфигурации SSH).

Для транспорта "git://" с добавлением параметра с номером версии пришлось повозиться, так как число параметров было ограничено после исправления в 2009 году ошибки, приводящей к зацикливанию. Проблема была решена "хаком", позволившим обойти ограничения через использование двух нулевых символов подряд, т.е. параметры передаются в виде "003egit-upload-pack /project.git\0host=myserver.com\0\0version=2\0".

  1. Главная ссылка к новости (https://opensource.googleblog....)
  2. OpenNews: Выпуск распределенной системы управления исходными текстами Git 2.17
  3. OpenNews: GitHub выпустил Git LFS 2.4.0
  4. OpenNews: Уязвимость в Git, Subversion и Mercurial, допускающая подстановку команд через URL ssh://
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: git
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Показать все | RSS
 
  • 1.2, Аноним, 21:56, 18/05/2018 [ответить] [смотреть все]     [к модератору]
  • +3 +/
    Говорили же им http www faqs org docs artu ch01s06 html ... весь текст скрыт [показать]
     
  • 1.3, Аноним, 21:57, 18/05/2018 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Можно было ведь добавить git2:// и не делать хак.
     
     
  • 2.4, Аноним, 22:07, 18/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +5 +/
    Расскажи об этом w3c А то они бедные никак не догадаются добавить версию после ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.31, пох, 10:34, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –4 +/
    а им как раз и не надо - они-то были умные, и с 95го года добавили версию непо... весь текст скрыт [показать]
     
     
  • 4.48, Анонимный психотерапевт, 22:33, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Как ты в дверные проемы пролазишь с таким самомнением Тяжко же жить, когда вокр... весь текст скрыт [показать]
     
  • 2.25, Нанобот, 08:50, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +3 +/
    Это замена одного хака на другой И, вместо того, чтобы разруливать ситуацию авт... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.30, Аноним, 10:03, 19/05/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    так если механизм не заложен - так и есть
     
  • 3.47, нурок, 20:59, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    так всё и будет автоматически, обновляешь свой гит на компе и всё он уже шлёт за... весь текст скрыт [показать]
     
  • 1.5, анонимус, 22:09, 18/05/2018 [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    На гитхабе в репе chromium написано 6 branches, где там 500 000 веток Это безум... весь текст скрыт [показать]
     
     
  • 2.6, apollo2k4, 22:15, 18/05/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +3 +/
    Chromium как бы не на GitHub хостится, там только зеркало…
     
     
  • 3.12, Андрей, 23:17, 18/05/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    кривое зеркало, значит.
     
  • 2.24, Andrey Mitrofanov, 07:28, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    На https chromium googlesource com chromium src refs всего 14тыс тэгов Мо... весь текст скрыт [показать] [показать ветку]
     
  • 2.43, Аноним, 17:09, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Разве у слитых веток ссылки не остаются А уж делить-объединять ветки в git е эт... весь текст скрыт [показать] [показать ветку]
     
  • 1.7, Аноним, 22:22, 18/05/2018 [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Ваще замечательно, сначала они неправильно используют гит а потом делают новую в... весь текст скрыт [показать]
     
     
  • 2.16, anonymous, 04:58, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +4 +/
    потрясающе, вы вот гит не разрабатываете, а делаете такие громкие заявляния
     
     
  • 3.35, Аноним, 13:18, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Поздравляю вы никогда не видели ребу хромиума на мнение о божественном гите имее... весь текст скрыт [показать]
     
  • 2.40, Аноним, 15:04, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –2 +/
    Действительно в каком вменяемом случае может понадобиться иметь репозиторий с т... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.49, Аноним, 00:59, 20/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    В свн столько веток тоже не держа Но там дело не столько в ветках сколько в тег... весь текст скрыт [показать]
     
     
  • 4.50, Andrey Mitrofanov, 08:34, 20/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    файлопомойки поверх Они просто не любят Микрософт, не хотят покупать ms-сервер, ... весь текст скрыт [показать]
     
  • 1.10, Crazy Alex, 23:02, 18/05/2018 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Эх, ещё б они какую-нибудь механику докачки прикрутили...
     
     
  • 2.14, Андрей, 23:19, 18/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Подождите, а что не прикрутили А я именно об этом гигантском улучшении подумал... весь текст скрыт [показать] [показать ветку]
     
  • 2.15, Аноним, 00:37, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • –5 +/
    На диалапе сидишь?
     
  • 2.19, Аноним, 06:34, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Ты мазохист что ли, работать с большими репами на диалапе Но даже если у тебя н... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.39, Crazy Alex, 15:01, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Как разок понадобится таки вытащить большую репу, сидя с отпуске с не сильно хор... весь текст скрыт [показать]
     
     
  • 4.41, Аноним, 16:25, 19/05/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Зачем Вы так жестоко ломаете картину мира диванному админу?
     
  • 4.44, Андрей, 18:21, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Кстати, хороший пример inkscape Кроме недостатка самого протокола, у них в реп... весь текст скрыт [показать]
     
  • 1.11, Аноним, 23:10, 18/05/2018 [ответить] [смотреть все]    [к модератору]  
  • –9 +/
    Ведро линукс по прежнему нельзя скачать на плохом канале? Хорошо зделоли.
     
     
  • 2.17, Anonimous, 05:00, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    А чего, git clone --depth 1 --branch linux-4 16 y git git kernel org pub... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.20, Аноним, 06:35, 19/05/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    Да ему лишь бы сирануть, а решение проблемы до лампочки.
     
  • 3.26, Нанобот, 08:52, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Может человеку нужны все ветки, одна уже не вставляет... весь текст скрыт [показать]
     
  • 3.34, Андрей, 12:35, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Недавно была новость 6 млн git объектов Тут, казалось, бы всего 1 последний к... весь текст скрыт [показать]
     
  • 3.37, name, 14:16, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Почему же, отлично работает Только это 180 мегабайт И на дерьмовом канале это ... весь текст скрыт [показать]
     
     
  • 4.55, KonstantinB, 16:00, 20/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Анониму с опеннета помешает то, что он и не собирался ничего разрабатывать Тот ... весь текст скрыт [показать]
     
  • 2.45, Старый одмин, 20:01, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Используй дары смерти от Майкрософт
    https://github.com/Microsoft/GVFS
     
     
  • 3.51, Andrey Mitrofanov, 08:36, 20/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Микрософт Микрософт и докачка И работающаяя докачка Не шути так, мне бол... весь текст скрыт [показать]
     
  • 2.52, Сергей, 11:00, 20/05/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    https://www.kernel.org/cloning-linux-from-a-bundle.html
     
     
  • 3.58, Андрей, 04:32, 21/05/2018 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    А inkscape? gcc? gimp? llvm? ...
     
  • 1.13, Андрей, 23:17, 18/05/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Наконец-то!!!
     
  • 1.18, Дуплик, 06:12, 19/05/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    Когда новые хеши будут? SHA1 уже на помойке истории. Небезопасная туфта.
     
     
  • 2.21, Аноним, 06:36, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +3 +/
    - Хочу домой - Ну так пошли - Хочу домой быстро - Ну тогда побежали с из... весь текст скрыт [показать] [показать ветку]
     
  • 2.28, аноним 12, 09:26, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    И от какой же опасности ты собираешься тут защищаться новыми хешами?
     
  • 2.29, KonstantinB, 09:49, 19/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Давай ты сначала продемонстрируешь подмену коммита на другой, и не тупо с рандом... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.32, anomymous, 10:55, 19/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Давай ты сначала продемонстрируешь MD2 Давай ты сначала продемонстрируешь ... весь текст скрыт [показать]
     
     
  • 4.57, Аноним, 00:08, 21/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Даже для md5 такое нелегко продемонстрировать, если ты не Гугл Сложность md5 pr... весь текст скрыт [показать]
     
  • 4.59, Аноним, 07:08, 21/05/2018 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Так где эксплойты то Так и не было Впрочем, ничего нового ... весь текст скрыт [показать]
     
  • 1.42, Аноним, 16:31, 19/05/2018 [ответить] [смотреть все]     [к модератору]  
  • +/
    Наступило щястье ... весь текст скрыт [показать]
     
  • 1.53, Николай Величко, 13:56, 20/05/2018 [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    > Разработчики из компании Google представили

    Какого xpeна? Кто они такие чтобы представлять? Git - это разработка Линуса Торвальдса, а не Google. Что это еще за фокусы? Какие новые протоколы? Они там упоролись? Или это их внутренний форк для своих нужд? Если они это не толкают в массы, то пусть месят свой форк и не лезут к остальным. Линус сам знает как лучше развивать Git.

     
     
  • 2.54, Andrey Mitrofanov, 14:23, 20/05/2018 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    ЛТ уже довольно давно не у руля https lwn net Articles 145123 Виновые кеши ... весь текст скрыт [показать] [показать ветку]
     
  • 2.56, Crazy Alex, 20:02, 20/05/2018 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    Это открытый софт. Кому что надо - тот и разрабатывает.
     
  • 1.60, Влад, 03:08, 24/05/2018 [ответить] [смотреть все]    [к модератору]  
  • +/
    > требует разрешения установки своих переменных окружения в конфигурации SSH

    вангую, что скоро вскроется уязвимость

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor