![]() Git-annex is not the Mercurial largefiles extension. And while boar supports distributed clones of a repository, it does not support keeping different files in different clones of the same repository, which git-annex does, and is an important feature for large-scale archiving. Boar implements its own version control system, rather than simply embracing and extending git. Git-annex is also not boar, although it shares many of its goals and characteristics. Similarly, git-annex is not git-lfs, which also uses git smudge filters, and appears to lack git-annex’s widely distributed storage and partial checkouts. Git-annex is similarly not git-fat, which also uses git smudge filters, and also lacks git-annex’s widely distributed storage and partial checkouts. It also does not support partial checkouts of file contents, like git-annex does. It lacks git-annex’s support for widely distributed storage, using only a single backend data store. git-media uses git smudge filters (recently supported in git-annex as well see unlocked files) and may be a tighter fit for certain situations. I only learned of git-media after writing git-annex, but I probably would have still written git-annex instead of using it. Git-annex is not git-media, although they both approach the same problem from a similar direction. (Don’t be fooled by “make test” only showing a few dozen test cases each test involves checking dozens to hundreds of assertions.) And it has a fairly extensive test suite. ![]() I wrote it in Haskell because I wanted it to be solid and to compile down to a binary. Git-annex is not some flaky script that was quickly thrown together. In particular, git-annex’s location tracking allows having many repositories with a partial set of files, that are copied around as desired. Git-annex is more than just a workaround for git scalability limitations that might eventually be fixed by efforts like git-bigfiles. Git-annex is also not a distributed file system like Bittorrent or ipfs but both are supported as special remotes with more work in making git-annex more distributed underway. Git-annex is also not a folder mirroring system like syncthing (although syncthing could be supported as a special remote) or gut, but it can be used to sync files such a way, with certain limitations (for example, it doesn’t like syncing. Git-annex is not unison, but if you’re finding unison’s checksumming too slow, or its strict mirroring of everything to both places too limiting, then git-annex could be a useful alternative. (There is also a FUSE filesystem built on top of git-annex, called ShareBox.) However, the git-annex assistant is addressing some of the same needs in its own unique ways. For a backup system that uses git and that git-annex supports storing data in, see bup.git-annex is not a filesystem or Dropbox clone. It may be a useful component of an archival system, or a way to deliver files to a backup system.
0 Comments
Leave a Reply. |