Вышла версия 2.1.0 хранилища больших файлов Git LFS

Выпущена новая версия хранилища для больших файлов — Git LFS 2.1.0. В ней присутствуют дополнительные возможности, улучшена производительность и внесено несколько других изменений.

Что нового?

git lfs status

Git LFS 2.1.0 позволяет более подробно рассматривать файлы, помеченные как «изменённые», с помощью команды git lfs status. Теперь LFS отображает, отслеживается ли файл через чего или хранится ли в Git. Например, если LFS видит, что большой файл лежит в хранилище Git, он конвертирует его, добавляя указатель на проверку и помечая файл как изменённый.

Посерверная настройка

Git LFS 2.1.0 поддерживает конфигурацию по типу URL через команду .gitconfig или .lfsconfig. Что касается настроек, применимых к URL, например, http.sslCert или lfs.locksverify, то их можно применить к домену верхнего уровня, корневому путь и, по сути, чему угодно. Вот пример:

On branch master

Git LFS objects to be committed:

converted-lfs-file.dat (Git: acfe112 -> LFS: acfe112)
new-lfs-file.dat (LFS: eeaf82b)
partially-staged-lfs-file.dat (LFS: a12942e)

Git LFS objects not staged for commit:

unstaged-lfs-file.dat (LFS: 1307990 -> File: 8735179)
partially-staged-lfs-file.dat (File: 0dc8537)

Инструменты для сетевой отладки

Новая версия также включает улучшенный инструмент отладки. В Git LFS 2.1.0 можно получить расширенный отчёт при помощи переменной окружения GIT_LOG_STATS=1:

$ GIT_LOG_STATS=1 git lfs pull
Git LFS: (201 of 201 files) 1.17 GB / 1.17 GB

$ cat .git/lfs/objects/logs/http/*.log
concurrent=15 time=1493330448 version=git-lfs/2.1.0 (GitHub; darwin amd64; go 1.8.1; git f9d0c49e)
key=lfs.batch event=request url=https://github.com/user/repo.git/info/lfs/objects/batch method=POST body=8468
key=lfs.batch event=request url=https://github.com/user/repo.git/info/lfs/objects/batch method=POST status=200 body=59345 conntime=47448309 dnstime=2222176 tlstime=163385183 time=491626933
key=lfs.data.download event=request url=https://github-cloud.s3.amazonaws.com/... method=GET status=200 body=4 conntime=58735013 dnstime=6486563 tlstime=120484526 time=258568133
key=lfs.data.download event=request url=https://github-cloud.s3.amazonaws.com/... method=GET status=200 body=4 conntime=58231460 dnstime=6417657 tlstime=122486379 time=261003305

# ...

Истечение «срока годности» объектов

API хранилища Git LFS долго поддерживал свойство expires_at, причём как в SSH, так и в Batch API. В связи с этим не раз возникали проблемы, когда из-за отсутствия синхронизации по времени LFS ошибочно воспринимал объект как неактуальный. Версия 2.1.0 поддерживает свойство expires_in, которое отражает время истечения срока актуальности объекта по времени, установленному на компьютере.

С подробным списком изменений можно ознакомиться в репозитории проекта.

Источник: блог GitHub