diff options
author | Joey Hess <joeyh@debian.org> | 2013-11-27 18:41:44 -0400 |
---|---|---|
committer | Joey Hess <joeyh@debian.org> | 2013-11-27 18:41:44 -0400 |
commit | 2e6d39d426f6b08f236d6071e671a9dcfc799d91 (patch) | |
tree | 1618fd9e34a30409ee0937cb4b3861ec3b5e7bba /doc/design/assistant/cloud.mdwn |
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
Diffstat (limited to 'doc/design/assistant/cloud.mdwn')
-rw-r--r-- | doc/design/assistant/cloud.mdwn | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/doc/design/assistant/cloud.mdwn b/doc/design/assistant/cloud.mdwn new file mode 100644 index 000000000..aa0eba382 --- /dev/null +++ b/doc/design/assistant/cloud.mdwn @@ -0,0 +1,45 @@ +The [[syncing]] design assumes the network is connected. But it's often +not in these pre-IPV6 days, so the cloud needs to be used to bridge between +LANS. + +## The cloud notification problem (**done**) + +Alice and Bob have repos, and there is a cloud remote they both share. +Alice adds a file; the assistant transfers it to the cloud remote. +How does Bob find out about it? + +There are two parts to this problem. Bob needs to find out that there's +been a change to Alice's git repo. Then he needs to pull from Alice's git repo, +or some other repo in the cloud she pushed to. Once both steps are done, +the assistant will transfer the file from the cloud to Bob. + +* dvcs-autosync uses xmppp; all repos need to have the same xmpp account + configured, and send self-messages. An alternative would be to have + different accounts that join a channel or message each other. Still needs + account configuration. +* irc could be used. With a default irc network, and an agreed-upon channel, + no configuration should be needed. IRC might be harder to get through + some firewalls, and is prone to netsplits, etc. IRC networks have reasons + to be wary of bots using them. Only basic notifications could be done over + irc, as it has little security. +* When there's a ssh server involved, code could be run on it to notify + logged-in clients. But this is not a general solution to this problem. +* pubsubhubbub does not seem like an option; its hubs want to pull down + a feed over http. + +See [[xmpp]] for design of git-annex's use of xmpp for push notifications. + +## storing git repos in the cloud **done for XMPP** + +Of course, one option is to just use github etc to store the git repo. + +Two things can store git repos in Amazon S3: +* <http://gabrito.com/post/storing-git-repositories-in-amazon-s3-for-high-availability> +* <http://wiki.cs.pdx.edu/oss2009/index/projects/gits3.html> + +Another option is to not store the git repo in the cloud, but push/pull +peer-to-peer. When peers cannot directly talk to one-another, this could be +bounced through something like XMPP. This is **done** for [[xmpp]]! + +Another option: Use <https://github.com/blake2-ppc/git-remote-gcrypt> to store +git repo encrypted on cloud storage. |