2011-04-28 00:06:07 +00:00
|
|
|
This special remote type rsyncs file contents to somewhere else.
|
|
|
|
|
|
|
|
Setup example:
|
|
|
|
|
|
|
|
# git annex initremote myrsync type=rsync rsyncurl=rsync://rsync.example.com/myrsync encryption=joey@kitenet.net
|
2011-04-29 15:16:54 +00:00
|
|
|
# git annex describe myrsync "rsync server"
|
2011-04-28 00:06:07 +00:00
|
|
|
|
2011-04-28 13:45:32 +00:00
|
|
|
Or for using rsync over SSH
|
|
|
|
|
|
|
|
# git annex initremote myrsync type=rsync rsyncurl=ssh.example.com:/myrsync encryption=joey@kitenet.net
|
2011-04-29 15:16:54 +00:00
|
|
|
# git annex describe myrsync "rsync server"
|
2011-04-28 13:45:32 +00:00
|
|
|
|
2011-04-28 00:06:07 +00:00
|
|
|
## configuration
|
|
|
|
|
|
|
|
These parameters can be passed to `git annex initremote` to configure rsync:
|
|
|
|
|
|
|
|
* `encryption` - Required. Either "none" to disable encryption of content
|
2012-11-19 21:32:58 +00:00
|
|
|
stored on the remote rsync server,
|
|
|
|
or a value that can be looked up (using gpg -k) to find a gpg encryption
|
|
|
|
key that will be given access to the remote, or "shared" which allows
|
|
|
|
every clone of the repository to decrypt the encrypted data.
|
|
|
|
|
|
|
|
Note that additional gpg keys can be given access to a remote by
|
2013-04-26 22:22:44 +00:00
|
|
|
running enableremote with the new key id. See [[encryption]].
|
2011-04-28 00:06:07 +00:00
|
|
|
|
|
|
|
* `rsyncurl` - Required. This is the url or `hostname:/directory` to
|
|
|
|
pass to rsync to tell it where to store content.
|
|
|
|
|
2012-05-02 17:08:31 +00:00
|
|
|
* `shellescape` - Optional. Set to "no" to avoid shell escaping normally
|
|
|
|
done when using rsync over ssh. That escaping is needed with typical
|
|
|
|
setups, but not with some hosting providers that do not expose rsynced
|
|
|
|
filenames to the shell. You'll know you need this option if `git annex get`
|
|
|
|
from the special remote fails with an error message containing a single
|
2013-04-26 22:22:44 +00:00
|
|
|
quote (`'`) character. If that happens, you can run enableremote
|
2012-05-02 17:08:31 +00:00
|
|
|
setting shellescape=no.
|
|
|
|
|
2011-04-28 00:06:07 +00:00
|
|
|
The `annex-rsync-options` git configuration setting can be used to pass
|
2011-04-28 00:30:43 +00:00
|
|
|
parameters to rsync.
|
2013-05-04 18:57:13 +00:00
|
|
|
|
|
|
|
## annex-rsync-transport
|
|
|
|
|
|
|
|
You can use the `annex-rsync-transport` git configuration setting to choose
|
|
|
|
whether we run rsync over ssh or rsh. This setting is also used to specify
|
|
|
|
parameters that git annex will pass to ssh/rsh.
|
|
|
|
|
|
|
|
ssh is the default transport; if you'd like to run rsync over rsh, modify your
|
|
|
|
.git/config to include
|
|
|
|
|
|
|
|
annex-rsync-transport = rsh
|
|
|
|
|
|
|
|
under the appropriate remote.
|
|
|
|
|
|
|
|
To pass parameters to ssh/rsh, include the parameters after "rsh" or
|
|
|
|
"ssh". For example, to configure ssh to use the private key at
|
|
|
|
`/path/to/private/key`, specify
|
|
|
|
|
|
|
|
annex-rsync-transport = ssh -i /path/to/private/key
|
|
|
|
|
|
|
|
Note that environment variables aren't expanded here, so for example, you
|
|
|
|
cannot specify `-i $HOME/.ssh/private_key`.
|