2010-10-19 23:28:29 +00:00
|
|
|
[[!meta title="what git-annex is not"]]
|
|
|
|
|
|
|
|
* git-annex is not a backup system. It may be a useful component of an
|
|
|
|
[[archival|use_case/bob]] system, or a way to deliver files to a backup
|
2011-04-08 18:56:57 +00:00
|
|
|
system. For a backup system that uses git and that git-annex supports
|
|
|
|
storing data in, see [[special_remotes/bup]].
|
2010-10-19 23:28:29 +00:00
|
|
|
|
2012-11-26 16:46:51 +00:00
|
|
|
* git-annex is not a filesystem or DropBox clone. However, the git-annex
|
|
|
|
[[assistant]] is addressing some of the same needs in its own unique ways.
|
|
|
|
(There is also a FUSE filesystem built on top of git-annex, called
|
|
|
|
[ShareBox](https://github.com/chmduquesne/sharebox-fs).)
|
2011-04-17 15:41:52 +00:00
|
|
|
|
2010-10-19 23:30:08 +00:00
|
|
|
* 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.
|
|
|
|
|
2012-11-26 16:46:51 +00:00
|
|
|
* git-annex is more than just a workaround for git scalability
|
|
|
|
limitations that might eventually be fixed by efforts like
|
|
|
|
[git-bigfiles](http://caca.zoy.org/wiki/git-bigfiles). In particular,
|
|
|
|
git-annex's [[location_tracking]] allows having many repositories
|
|
|
|
with a partial set of files, that are copied around as desired.
|
2010-11-18 18:29:14 +00:00
|
|
|
|
2010-10-19 23:35:56 +00:00
|
|
|
* git-annex is not some flaky script that was quickly thrown together.
|
|
|
|
I wrote it in Haskell because I wanted it to be solid and to compile
|
2011-01-07 18:10:38 +00:00
|
|
|
down to a binary. And it has a fairly extensive test suite. (Don't be
|
|
|
|
fooled by "make test" only showing a few dozen test cases; each test
|
|
|
|
involves checking dozens to hundreds of assertions.)
|
2011-01-26 16:43:21 +00:00
|
|
|
|
|
|
|
* git-annex is not [git-media](https://github.com/schacon/git-media),
|
|
|
|
although they both approach the same problem from a similar direction.
|
|
|
|
I only learned of git-media after writing git-annex, but I probably
|
|
|
|
would have still written git-annex instead of using it. Currently,
|
|
|
|
git-media has the advantage of using git smudge filters rather than
|
2011-02-15 05:54:03 +00:00
|
|
|
git-annex's pile of symlinks, and it may be a tighter fit for certain
|
2011-01-26 16:43:21 +00:00
|
|
|
situations. It lacks git-annex's support for widely distributed storage,
|
|
|
|
using only a single backend data store. It also does not support
|
|
|
|
partial checkouts of file contents, like git-annex does.
|
2011-03-04 16:31:01 +00:00
|
|
|
|
2012-11-26 16:43:19 +00:00
|
|
|
* git-annex is similarly not [git-fat](https://github.com/jedbrown/git-fat),
|
|
|
|
with also uses git smudge filters, and also lacks git-annex's widely
|
|
|
|
distributed storage and partial checkouts.
|
|
|
|
|
2011-03-04 16:31:01 +00:00
|
|
|
* git-annex is also not [boar](http://code.google.com/p/boar/),
|
|
|
|
although it shares many of its goals and characteristics. Boar implements
|
2011-04-08 17:49:27 +00:00
|
|
|
its own version control system, rather than simply embracing and
|
2011-03-04 16:31:01 +00:00
|
|
|
extending git. 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.
|
2011-03-08 18:20:11 +00:00
|
|
|
|
2011-11-02 16:02:04 +00:00
|
|
|
* git-annex is not the [Mercurial largefiles extension](http://mercurial.selenic.com/wiki/LargefilesExtension).
|
2011-03-08 18:20:11 +00:00
|
|
|
Although mercurial and git have some of the same problems around large
|
|
|
|
files, and both try to solve them in similar ways (standin files using
|
|
|
|
mostly hashes of the real content).
|
|
|
|
|