git-annex/doc/not.mdwn
Joey Hess 7189dfd77d git-annex (5.20131127) unstable; urgency=low
* webapp: Detect when upgrades are available, and upgrade if the user
    desires.
    (Only when git-annex is installed using the prebuilt binaries
    from git-annex upstream, not from eg Debian.)
  * assistant: Detect when the git-annex binary is modified or replaced,
    and either prompt the user to restart the program, or automatically
    restart it.
  * annex.autoupgrade configures both the above upgrade behaviors.
  * Added support for quvi 0.9. Slightly suboptimal due to limitations in its
    interface compared with the old version.
  * Bug fix: annex.version did not get set on automatic upgrade to v5 direct
    mode repo, so the upgrade was performed repeatedly, slowing commands down.
  * webapp: Fix bug that broke switching between local repositories
    that use the new guarded direct mode.
  * Android: Fix stripping of the git-annex binary.
  * Android: Make terminal app show git-annex version number.
  * Android: Re-enable XMPP support.
  * reinject: Allow to be used in direct mode.
  * Futher improvements to git repo repair. Has now been tested in tens
    of thousands of intentionally damaged repos, and successfully
    repaired them all.
  * Allow use of --unused in bare repository.

# imported from the archive
2013-11-27 18:41:44 -04:00

55 lines
3 KiB
Markdown

[[!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
system. For a backup system that uses git and that git-annex supports
storing data in, see [[special_remotes/bup]].
* 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).)
* 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.
* 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.
* 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
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.)
* 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
git-annex's pile of symlinks, and it may be a tighter fit for certain
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.
* git-annex is similarly not [git-fat](https://github.com/jedbrown/git-fat),
which also uses git smudge filters, and also lacks git-annex' widely
distributed storage and partial checkouts.
* git-annex is also not [boar](http://code.google.com/p/boar/),
although it shares many of its goals and characteristics. Boar implements
its own version control system, rather than simply embracing and
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.
* git-annex is not the [Mercurial largefiles extension](http://mercurial.selenic.com/wiki/LargefilesExtension).
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).