summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/control2
-rw-r--r--doc/walkthrough.mdwn46
2 files changed, 40 insertions, 8 deletions
diff --git a/debian/control b/debian/control
index 83bc8c82b..d8abc487c 100644
--- a/debian/control
+++ b/debian/control
@@ -10,7 +10,7 @@ Homepage: http://git-annex.branchable.com/
Package: git-annex
Architecture: any
Section: utils
-Depends: ${misc:Depends}, ${shlibs:Depends}, git | git-core, uuid
+Depends: ${misc:Depends}, ${shlibs:Depends}, git | git-core, uuid, openssh-client
Description: manage files with git, without checking their contents into git
git-annex allows managing files with git, without checking the file
contents into git. While that may seem paradoxical, it is useful when
diff --git a/doc/walkthrough.mdwn b/doc/walkthrough.mdwn
index 7dbe62bdc..5c91f2a9c 100644
--- a/doc/walkthrough.mdwn
+++ b/doc/walkthrough.mdwn
@@ -13,8 +13,8 @@ This is very straightforward. Just tell it a description of the repository.
## adding a remote
-This could be a USB drive, or a sshfs or NFS mount to a file server, for
-example.
+Like any other git repository, git-annex repositories have remotes.
+Let's start by adding a USB drive as a remote.
# sudo mount /media/usb
# cd /media/usb
@@ -25,11 +25,8 @@ example.
# cd ~/annex
# git remote add usbdrive /media/usb
-This is all standard ad-hoc distributed git repository setup. Or you
-could have added a centralized bare repository on a server if you prefer
-doing things that way.
-
-Anyway, the only git-annex specific part is telling it the name
+This is all standard ad-hoc distributed git repository setup.
+The only git-annex specific part is telling it the name
of the new repository created on the USB drive.
Notice that both repos are set up as remotes of the other one. This lets
@@ -151,6 +148,41 @@ makes it very easy.
# git annex move my_cool_big_file --to usbdrive
move my_cool_big_file (to usbdrive...) ok
+## using ssh remotes
+
+So far git-annex has been used with a remote repository on a USB drive.
+But it can also be used with a remote that is truely remote, a host
+accessed by ssh.
+
+Say you have a desktop on the same network as your laptop and want
+to clone the laptop's annex to it:
+
+ # git clone ssh://mylaptop/home/me/annex ~/annex
+ # cd ~/annex
+ # git annex init "my desktop"
+
+Now you can get files and they will be transferred by `scp`:
+
+ # git annex get my_cool_big_file
+ get my_cool_big_file (getting UUIDs for origin...) (copying from origin...)
+ my_cool_big_file 100% 2159 2.1KB/s 00:00
+ ok
+
+When you drop files, git-annex will ssh over to the remote and make
+sure the file's content is still there before removing it locally:
+
+ # git annex drop my_cool_big_file
+ drop my_cool_big_file (checking origin..) ok
+
+Note that normally git-annex prefers to use non-ssh remotes, like
+a USB drive, before ssh remotes. They are assumed to be faster/cheaper to
+access, if available. There is a annex-cost setting you can configure in
+`.git/config` to adjust which repositories it prefers. See
+[[the_man_page|git-annex]] for details.
+
+Also, note that you need full shell access for this to work --
+git-annex needs to be able to ssh in and run commands.
+
## using the URL backend
git-annex has multiple key-value [[backends]]. So far this walkthrough has