- Регистрация
- 9 Май 2015
- Сообщения
- 1,071
- Баллы
- 155
- Возраст
- 52
Выпущена новая версия хранилища для больших файлов — 2.1.0. В ней присутствуют дополнительные возможности, улучшена производительность и внесено несколько других изменений.
Что нового?
git lfs status
Git LFS 2.1.0 позволяет более подробно рассматривать файлы, помеченные как «изменённые», с помощью команды git lfs status. Теперь LFS отображает, отслеживается ли файл через чего или хранится ли в Git. Например, если LFS видит, что большой файл лежит в хранилище Git, он конвертирует его, добавляя указатель на проверку и помечая файл как изменённый.
Посерверная настройка
Git LFS 2.1.0 поддерживает через команду .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, причём как в , так и в . В связи с этим не раз возникали проблемы, когда из-за отсутствия синхронизации по времени LFS ошибочно воспринимал объект как неактуальный. Версия 2.1.0 поддерживает свойство expires_in, которое отражает время истечения срока актуальности объекта по времени, установленному на компьютере.
С подробным списком изменений можно ознакомиться в .
— .
Что нового?
git lfs status
Git LFS 2.1.0 позволяет более подробно рассматривать файлы, помеченные как «изменённые», с помощью команды git lfs status. Теперь LFS отображает, отслеживается ли файл через чего или хранится ли в Git. Например, если LFS видит, что большой файл лежит в хранилище Git, он конвертирует его, добавляя указатель на проверку и помечая файл как изменённый.
Посерверная настройка
Git LFS 2.1.0 поддерживает через команду .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, причём как в , так и в . В связи с этим не раз возникали проблемы, когда из-за отсутствия синхронизации по времени LFS ошибочно воспринимал объект как неактуальный. Версия 2.1.0 поддерживает свойство expires_in, которое отражает время истечения срока актуальности объекта по времени, установленному на компьютере.
С подробным списком изменений можно ознакомиться в .
— .