Состоялся (https://blog.github.com/2018-03-02-git-lfs-2.4.0-released/) релиз системы хранения Git LFS 2.4.0 (https://git-lfs.github.com/) (Git Large File Storage), развиваемой GitHub и позволяющей использовать Git для отслеживания версий больших файлов, содержащих наборы данных, звук, видео и графику. В штатном Git-репозитории большие файлы заменяются на текстовые ссылки, указывающие на контент в отдельном внешнем репозитории, что позволяет избежать повторного копирования файлов при клонировании и извлечении репозитория. При выполнении операций checkout большие файлы не загружаются вместе с остальными данными, а синхронизируются с сервера и хранятся в единственной копии. В рамках проекта подготовлены специальное дополнение к Git, переработанный для эффективной передачи больших данных HTTP-клиент и реализация сервера (https://github.com/github/lfs-test-server). Код распространяется (https://github.com/github/git-lfs) под лицензией MIT.
Основные новшества (https://github.com/git-lfs/git-lfs/releases/tag/v2.4.0):
- Представлен полностью новый движок (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с.
URL: https://blog.github.com/2018-03-02-git-lfs-2.4.0-released/
Новость: https://www.opennet.me/opennews/art.shtml?num=48200
> для отслеживания версий больших файлов, содержащих наборы данных, звук, видео и графикуи всё таки, какого размера "большие файлы"? png иконки - это большие файлы? 100KB? 1MB? 10КБ ? Какой критерий, что вместо обычного хранения статических картинок и медиа стоит юзать git lfs?
Все бинари как минимум
png иконки это бинарные файлы
Поэтому логично их хранить в LFS независимо от размера. Вряд ли в них будут вноситься изменения, которые git сможет обработать эффективно.
Хотя есть вариант хранить в гите sng, а png генерить из них при сборке. Но сложно представить ситуацию, когда такое имело бы смысл.
Хммм... "Git LFS servers can offload object storage to cloud services like S3" - интересно, насколько оно заточено именно под Амазон. А то можно было бы с каким-нибудь альтернативным бэкендом развернуть, если понадобится.
есть открытые альтернативы в таким же интерфейсом как y s3
Опционально.
Немного оффтопа.
Есть вопрос к знатокам LFS и гитхаба:
Вот есть репка https://github.com/jasongrier/sl при попытке её клонировать пишет "This repository is over its data quota. Purchase more data packs to restore access.". Я форкнул, но это естественно не помогло, я купил 1 data pack на 50ГБ, но по прежнему пишет эту же ошибку, хотя я и форк делал и подставлял свои учётные данные.
Действительно оплатить квоту должен именно исходный владелец хранилища? Почему так бредово. Или я что-то делаю не так?
github.com/jasongrier/sl/commit/7ab0fa78
И дальше что? Это я и так видел. Никакой полезной инфы кроме адреса для пожертвований там нет, но я спрашиваю в целом о ситуации с LFS а не только об этом хранилище. Кажется или я рукожоп или гитхаб положил на идею форков в случае с LFS.
>для отслеживания версий больших файловне больших, а любых нетекстовых.
makedepends=('go' 'ruby-ronn')что за хрень?
почему?