
* 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
63 lines
3.1 KiB
Markdown
63 lines
3.1 KiB
Markdown
git-annex can transfer data to and from configured git remotes.
|
|
Normally those remotes are normal git repositories (bare and non-bare;
|
|
local and remote), that store the file contents in their own git-annex
|
|
directory.
|
|
|
|
But, git-annex also extends git's concept of remotes, with these special
|
|
types of remotes. These can be used just like any normal remote by git-annex.
|
|
They cannot be used by other git commands though.
|
|
|
|
* [[S3]] (Amazon S3, and other compatible services)
|
|
* [[Amazon_Glacier|glacier]]
|
|
* [[bup]]
|
|
* [[gcrypt]] (encrypted git repositories!)
|
|
* [[directory]]
|
|
* [[rsync]]
|
|
* [[webdav]]
|
|
* [[web]]
|
|
* [[xmpp]]
|
|
* [[hook]]
|
|
|
|
The above special remotes can be used to tie git-annex
|
|
into many cloud services.
|
|
|
|
There are many use cases for a special remote. You could use it as a backup. You could use it to archive files offline in a drive with encryption enabled so if the drive is stolen your data is not. You could git annex move --to specialremote large files when your local drive is getting full, and then git annex move the files back when free space is again available. You could have one repository copy files to a special remote, and then git annex get them on another repository, to transfer the files between computers that do not communicate directly.
|
|
|
|
The git-annex assistant makes it easy to set up rsync remotes using this last scenario, which is referred to as a transfer repository, and arranges to drop files from the transfer repository once they have been transferred to all known clients.
|
|
|
|
None of these use cases are particular to particular special remote types. Most special remotes can all be used in these and other ways. It largely doesn't matter for your use what underlying transport the special remote uses.
|
|
|
|
Here are specific instructions
|
|
for using git-annex with various services:
|
|
|
|
* [[Amazon_S3|tips/using_Amazon_S3]]
|
|
* [[Amazon_Glacier|tips/using_Amazon_Glacier]]
|
|
* [[tips/Internet_Archive_via_S3]]
|
|
* [[tahoe-lafs|forum/tips:_special__95__remotes__47__hook_with_tahoe-lafs]]
|
|
* [[Box.com|tips/using_box.com_as_a_special_remote]]
|
|
* [[Google drive|tips/googledriveannex]]
|
|
* [[Google Cloud Storage|tips/using_Google_Cloud_Storage]]
|
|
* [[Mega.co.nz|tips/megaannex]]
|
|
* [[SkyDrive|tips/skydriveannex]]
|
|
* [[OwnCloud|tips/owncloudannex]]
|
|
* [[Flickr|tips/flickrannex]]
|
|
* [[IMAP|forum/special_remote_for_IMAP]]
|
|
* [[Usenet|forum/nntp__47__usenet special remote]]
|
|
* [chef-vault](https://github.com/3ofcoins/knife-annex/)
|
|
|
|
## Unused content on special remotes
|
|
|
|
Over time, special remotes can accumulate file content that is no longer
|
|
referred to by files in git. Normally, unused content in the current
|
|
repository is found by running `git annex unused`. To detect unused content
|
|
on special remotes, instead use `git annex unused --from`. Example:
|
|
|
|
$ git annex unused --from mys3
|
|
unused mys3 (checking for unused data...)
|
|
Some annexed data on mys3 is not used by any files in this repository.
|
|
NUMBER KEY
|
|
1 WORM-s3-m1301674316--foo
|
|
(To see where data was previously used, try: git log --stat -S'KEY')
|
|
(To remove unwanted data: git-annex dropunused --from mys3 NUMBER)
|
|
$ git annex dropunused --from mys3 1
|
|
dropunused 12948 (from mys3...) ok
|