GitHub выпустил Git LFS 2.6.0
GitHub опубликовал релиз системы хранения Git LFS 2.6.0 (Git Large File Storage), развиваемой GitHub и позволяющей использовать Git для отслеживания версий больших файлов, содержащих наборы данных, звук, видео и графику. Код распространяется под лицензией MIT.
В рамках проекта подготовлены специальное дополнение к Git, переработанный для эффективной передачи больших данных HTTP-клиент и реализация сервера. В штатном Git-репозитории большие файлы заменяются на текстовые ссылки, указывающие на контент в отдельном внешнем репозитории, что позволяет избежать повторного копирования файлов при клонировании и извлечении репозитория. При выполнении операций checkout большие файлы не загружаются вместе с остальными данными, а синхронизируются с сервера и хранятся в единственной копии.
- Обеспечено использование раздельной аутентификации для запросов к API, применяемых для загрузки клиентом необходимых метаданных, и запросов к хранилищу, применяемых клиентом для загрузки или выгрузки данных во внешнее хранилище. Ранее Git LFS определял метод аутентификации для LFS API и в дальнейшем использовал аналогичный метод при взаимодействии с хранилищем, что создавало трудности, так как обычно API и хранилище размещаются на разных серверах.
- Представлены новые опции для команды "git lfs checkout", упрощающие разбор конфликтов при слиянии, которые не удается разрешить автоматически. Опция "git lfs checkout --ours" позволяет при разрешении конфликта принять "нашу" сторону слияния, "git lfs checkout --theirs" - чужую сторону, а "git lfs checkout --base" использовать при слиянии основное состояние.