Recent comments posted to this site:

Hi,

I guess the problem is with git-annex-shell. I tried to do 'git annex get file --from name_ssh_repo', and I got the following:

bash: git-annex-shell: command not found; failed; exit code 127

The same thing happens if I try to do 'git annex whereis'

git-annex-shell is indeed installed. How can I make my shell recognize this command?

Thanks a lot!

After doing the above with two required copy per file, git annex fsck complained that I had only one copy per file even though I had created my clone, already. Once I git pulled from the second repo, not getting any changes for obvious reasons, git annex fsck was happy. So I am not sure how my addition was incorrect. -- RichiH

When git annex get does nothing, it's because it doesn't know a place to get the file from.

This can happen if the git-annex branch has not propigated from the place where the file was added. For example, if on the laptop you had run git pull ssh master, that would only pull the master branch, not the git-annex branch.

An easy way to ensure the git-annex branch is kept in sync is to run git annex sync

Comment by http://joeyh.name/ Sun May 27 20:53:05 2012
  • why the git remote add laptop ~/annex ? this remote already exists under the name origin.
  • doesn't the last command need to be git remote add usbdrive /media/usb/annex? because the actual repo would be in /media/usb/annex, not /media/usb?
Comment by http://dieter-be.myopenid.com/ Sat Apr 2 20:24:33 2011

Hi,

I could successfully clone my ssh repo's annex to my laptop, following these instructions. I'm also able to sync the repositories (laptop and ssh) when I commit new files in the ssh repo.

However, every time I try to get files from the ssh repo (using 'git annex get some_file'), nothing happens. Do you know what can be happening?

Thanks!

I may be missing something obvious, but when I copy to a remote repository, the object files are created, but no softlinks are created. When I pull everything from the remote, it pulls only files the local repo knows about already.

    A
   / \
  B   C

Moving from B to A creates no symlinks in A but the object files are moved to A. Copying back from A to B restores the object files in B and keeps them in A.

Copying from A to an empty C does not create any object files nor symlinks. Copying from C to A creates no symlinks in A but the object files are copied to A.

-- RichiH

git-annex-shell needs to be installed in the PATH on any host that will hold annexed files.

If you installed with cabal, it might be .cabal/bin/. Whereever it was installed to is apparently not on the PATH that is set when you ssh into that host.

Comment by http://joeyh.name/ Sun May 27 22:08:50 2012

Good spotting on the last line, fixed.

The laptop remote is indeed redundant, but it leads to clearer views of what is going on later in the walkthrough ("git pull laptop master", "(copying from laptop...)"). And if the original clone is made from a central bare repo, this reinforces that you'll want to set up remotes for other repos on the computer.

Comment by http://joey.kitenet.net/ Sun Apr 3 02:32:17 2011
In fact is it possible? Nothing changed as far as git is concerned.
Comment by DavidEdmondson Mon Sep 5 15:43:25 2011

Hi,

It was already installed in PATH. In fact, I can call it from the command line, and it is recognized (e.g. calling 'git-annex-shell' gives me 'git-annex-shell: bad parameters'). However, every time I do a 'git annex whereis' or 'git annex get file --from repo', it gives me the following error:

bash: git-annex-shell: command not found Command ssh ["-S","/Users/username/annex/.git/annex/ssh/username@example.edu","-o","ControlMaster=auto","-o","ControlPersist=yes","username@example.edu","git-annex-shell 'configlist' '/~/annex'"] failed; exit code 127

I tried to run this ssh command, but it gives me the same 'command not found' error. It seems that the problem is with the ssh repo? The ssh repo has a git-annex-shell working and installed in PATH.

Comments on this page are closed.