git-annex/doc/distributed_version_control.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

21 lines
938 B
Markdown

In git, there can be multiple clones of a repository, each clone can
be independently modified, and clones can push or pull changes to
one-another to get back in sync.
git-annex preserves that fundamental distributed nature of git, while
dropping the requirement that, once in sync, each clone contains all the data
that was committed to each other clone. Instead of storing the content
of a file in the repository, git-annex stores a pointer to the content.
Each git-annex repository is responsible for storing some of the content,
and can copy it to or from other repositories. [[Location_tracking]]
information is committed to git, to let repositories inform other
repositories what file contents they have available.
---
The [[walkthrough]] shows how to create a distributed set of git-annex
repositories with no central repository.
Prefer a central repository like GitHub? See the
[[tips/centralized_git_repository_tutorial]].