4 ms·
GitJournal doesn't yet support LFS, and since neither libgit2 or go-git supports it, it's unlikely that I'll implement it. (last I checked it wasn't supported,
by vhanda 4y ago
GitJournal doesn't yet support LFS, and since neither libgit2 or go-git supports it, it's unlikely that I'll implement it. (last I checked it wasn't supported, maybe things have changed).
I do, however, want to support partial clones and easier tools to cleanup the history and reduce the repo size.
- jpatters 4y ago> and since neither libgit2 or go-git supports it libgit2 already supports filters and that’s all you need to build lfs support (actually, you don’t even really need to use them if you don’t want to). Lfs itself is not a feature of git. It’s a specification that defines a protocol for replacing large files with pointers (via the use of the smudge and clean filters) and uploading said large files to another location. Source: I am the cofounder and former CTO of forestry.io, a git backed content management system, and I implemented lfs support in conjunction with libgit2 in that product about 4 years ago.
- vhanda 4y agoThanks for providing the extra info. I'll look into it.
- infogulch 4y agoI just found "git partial clone" which appears to aim to replace LFS ( https://about.gitlab.com/blog/2020/03/13/partial-clone-for-massive-repositories/ https://about.gitlab.com/blog/2020/03/13/partial-clone-for-m... ) but I'm unsure of it's current state ( https://www.kdab.com/native-big-file-handling-in-git/ https://www.kdab.com/native-big-file-handling-in-git/ 2021 ). Are you familiar?
- infogulch 4y agoI see an old issue about LFS [1] that seems to indicate code exists to support it, but it's supported as an extension not a built-in feature; I guess that means a separately loading a shared library and setting function pointers in libgit2 structs (not even sure how that would work on mobile platforms). I'm not super familiar with LFS beyond its name and stated intentions, but after a cursory review it seems to be extremely manual/tedious, so much that it makes git itself look like a paragon of automated magic and user-friendliness. Maybe that's an unfair assessment, or maybe it could be made automatic, but I'm less sure that its the solution I'd want. The use case I'm interested in is similar to the comment above "binary files. Photos, videos, etc", What I was hoping for with LFS would be like a thin clone of all my personal files where some files are only present in name with their contents downloaded on-demand on some devices. So I'm not sure if history pruning would help my use-case much. [1]: https://github.com/libgit2/libgit2/issues/3373 https://github.com/libgit2/libgit2/issues/3373