Hi,
I'm trying to figure out if it's possible to have a remote that allows access from clients without git-annex. That is a remote type that presents itself as a client repo. I'm probably missing something obvious.
Ideally I'd like to use my Nokia N900 phone as a ssh remote from which I can open files on any computer when the device is connected via usb in mass storage mode. This would allow me to access my files when I'm using a computer at work or at a friends house without installing git-annex. The phone has an ext3 partition so links are possible. Naturally I'd have to ensure the files I want are on the device before I leave the house.
I'd also like to be able to scp files from my ssh remote when on git-annex less devices. Unfortunately the ssh/rsync repo presents no links or normal filenames.
Git annex, and the assistant is working really smoothly between my local computers and my server on the internet. Setting things up with the webapp is super simple. Great work!
This is off the top of my head, so I may be wrong on details:
An ssh remote, or a USB remote, when you create it with the assistant, is a bare repo. The files in it are not visible or accessible except through a clone of it (such as your client repo).
You could make an SSH remote or USB remote as a non-bare repo, in which case the files within it would be visible and accessible just like on a client repo. You could set that up using the command line; the assistant doesn't do it, but once you got it set up on the command line the assistant would use it just like normal.
There is a catch though. Though potentially available, the files in that repo don't actually show up until you run "git annex sync" in that repo. Because git annex does not update the checked out branch of a remote. So you'd have to cd into that repo manually and run "git annex sync" to make the latest-and-greatest files available.
Here's how I'd do this...
If the git annex assistant is running, turn it off.
follow the instructions here: http://git-annex.branchable.com/walkthrough/ under "adding a remote" on your usb drive. You now have a non-bare remote.
Fire up the assistant and you'll see that that is now one of your remotes. Configure it to "backup" or whatever you want. Let the assistant fill it up with content.
When you want to take it someplace, get on the command line and "cd /wherever/my/usb/drive/is/annex" and then do: "git annex sync" -- that will update the links to the content so you can actually see it.
You now have all your content available on your USB drive.
You can do a similar process to manually create a non-bare SSH remote, and you can ssh in and run "git annex sync" to update its links and make the content available, which you can then retrieve va scp or sftp, or for that matter, you could configure a web server or WebDAV to serve it up if you like.
The only complication is running git-annex sync to update your links.
Again, this is all off the top of my head, I haven't looked up or tested anything here so I welcome correction. But I think what you want to do can be pretty straightforward if you're willing to go behind Assistant's back to do the setup work, and run "git annex sync" when you need to.
I take it all the above requires mounting an sshfs filsystem of the remote client to run the git-annex or the assistant "locally" on the desktop or laptop. Or am I missing something.
For the usb usecase a normal mount would suffice of course.
The lack of automation means running a rsync script from (or to) the phone is easier. Not as clever though and means running a separate "system" for distributing files to the phone.
Thanks again!