Правило Саади

Говори с людьми в соответствии с их разумом.

Существует один общий рефлекс - как только отключают воду, страшно хочется ...

Перед GTK+ 4 планируется сформировать внеплановый выпуск GTK+ 3.24
Sun, 24 Jun 2018 18:06:52 +0300

Компания Oracle передала сообществу Apache 1.5 млн строк кода NetBeans
Fri, 22 Jun 2018 09:25:33 +0300

Начальный план разработки Qt 6
Thu, 21 Jun 2018 22:26:33 +0300

Разработчики Netfilter официально объявили инструментарий iptables устаревшим
Thu, 21 Jun 2018 14:18:47 +0300

Blender тестирует децентрализованный PeerTube после блокировки видео на YouTube
Wed, 20 Jun 2018 20:35:28 +0300

Представлен проект Fedora CoreOS
Wed, 20 Jun 2018 19:05:49 +0300

В OpenBSD добавлен код программного отключения SMT (HyperThreading)
Wed, 20 Jun 2018 12:11:25 +0300

В рамках проекта Devilution предпринята попытка воссоздания кода игры Diablo
Tue, 19 Jun 2018 13:06:26 +0300

Проекту FreeBSD исполнилось 25 лет
Tue, 19 Jun 2018 12:18:37 +0300

Открыт код C++ компилятора Zapcc
Mon, 18 Jun 2018 11:26:24 +0300

Установочный скрипт проекта yandex-disk-indicator удалял раздел /usr
Sun, 17 Jun 2018 20:11:45 +0300

Mozilla рассматривает возможность создания системы голосовой навигации для браузера
Sun, 17 Jun 2018 13:27:14 +0300

Разбор ситуации с обвинением OpenBSD в нарушении эмбарго при исправлении уязвимости KRACK
Sat, 16 Jun 2018 08:46:44 +0300

Подготовленный в Microsoft deb-пакет с Open R принудительно заменяет /bin/sh на bash
Thu, 14 Jun 2018 20:15:07 +0300

В Chrome будет прекращена поддержка установки дополнений по запросу сторонних сайтов
Thu, 14 Jun 2018 12:04:29 +0300

Новости OPENNET
Новости

Разработчики из компании 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".

63.2396 73.7247 0.5739 9.7368

НОВОСТИ: Обновление Debian 8.11 и создание LTS-ветки Debian 8 Sat, 23 Jun 2018 23:09:36 +0300

Представлено корректирующее обновление Debian 8.11, в которое включены все выпущенные обновления пакетов и устранены недоработки в инсталляторе.

???????@Mail.ru Opera Firefox INFOBOX - хостинг Google Chrome