Чины людьми даются, а люди могут обмануться

- Дорогой – купи хлеба, чтобы я не переживала... ...

Для ядра Linux предложен механизм раздельного учёта времени в контейнерах
Thu, 20 Sep 2018 21:37:41 +0300

Oracle передал код GlassFish организации Eclipse Foundation
Thu, 20 Sep 2018 11:04:56 +0300

Компания Canonical продлевает поддержку Ubuntu 14.04 для платных подписчиков
Wed, 19 Sep 2018 23:47:19 +0300

GnuPG признан пригодным для заверения нотариальных актов в штате Вашингтон
Wed, 19 Sep 2018 11:50:18 +0300

В Chrome 70 планируют прекратить отображение "file://" в адресной строке
Wed, 19 Sep 2018 10:36:12 +0300

Проект PostgreSQL принял кодекс поведения разработчиков
Tue, 18 Sep 2018 22:44:54 +0300

Новый сайт русскоязычного сообщества KDE
Tue, 18 Sep 2018 18:53:07 +0300

18 сентября проходит международный день против DRM
Tue, 18 Sep 2018 07:54:59 +0300

Создатели Pale Moon ввели в строй портал проектов на базе XUL
Mon, 17 Sep 2018 10:19:38 +0300

Линус Торвальдс временно отстранился от разработки ядра Linux
Mon, 17 Sep 2018 08:00:33 +0300

Google отменил скрытие поддоменов "www" и "m", но намерен стандартизировать их особый статус
Sun, 16 Sep 2018 09:02:43 +0300

Mozilla тестирует DNS поверх HTTPS и применение GPU для отрисовки
Fri, 14 Sep 2018 11:30:30 +0300

Первый бета-выпуск мобильной платформы /e/, развиваемой создателем Mandrake Linux
Fri, 14 Sep 2018 09:04:05 +0300

Европарламент утвердил новые правила авторского права, вводящие упреждающую фильтрацию контента
Wed, 12 Sep 2018 21:32:30 +0300

В Chrome OS добавлена возможность монтирования сетевых хранилищ Windows
Wed, 12 Sep 2018 10:34: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".

66.4725 77.7529 0.5922 9.6996

НОВОСТИ: Oracle передал код GlassFish организации Eclipse Foundation Thu, 20 Sep 2018 11:04:56 +0300

Компания Oracle завершила процесс передачи организации Eclipse Foundation открытого сервера приложений GlassFish c эталонной реализацией спецификации Java EE. Передача осуществлена в рамках инициативы по передаче разработки и управления проектом Java EE (Java Platform Enterprise Edition) независимому сообществу. Код GlassFish перемещён в репозиторий Eclipse и теперь будет развиваться в составе проекта.

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