GitHub выпустил Git LFS 2.4.0

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

Основные новшества:

  • Представлен полностью новый движок (filepath-filter) для обработки масок включения/исключения файлов в хранилище, связанных с опциями »--include» и »--exclude». В новом движке появилась возможность указания диапазонов и классов символов.
  • Унифицированы индикаторы прогресса выполнения операций, которые теперь основаны на одном коде и соответствуют стилю Git:
         ~/example (master) $ git lfs prune     prune: 13 local object(s), 3 retained" prune.log     prune: Deleting objects:  80% (8/10), done" prune.log  
  • Приведёт в порядок индикатор прогресса загрузки объектов Git LFS, убрано упоминание о пропущенных объектах и выведена информация о средней скорости загрузки:
         ~/Desktop $ git lfs clone git@github.com:ttaylorr/example.git     Cloning into 'example'...     # ...     Downloading LFS objects:  40% (55/136), 96 MB | 15 MB/s  
  • Обеспечено включение любых связанных ссылок в составе запросов к API, что в будущем планируется использовать для предоставления возможности применения Git LFS для совершения pull-запросов;
  • В команду «git lfs ls-files» добавлены новые опции '--all', '--include', '--exclude' и '--size', а также обеспечен показ прокэшированных LFS-объектов;
  • В команду «git lfs migrate» добавлена опция '--skip-fetch' для миграции в offline-режиме и обеспечена возможность применения префикса '^' в аргументах c refspeс.

© OpenNet