new bug: whereis does not work in direct mode

This commit is contained in:
http://svario.it/gioele 2014-07-29 15:17:09 +00:00 committed by admin
parent 2695dfbab5
commit 53518beb1c

View file

@ -0,0 +1,84 @@
### Please describe the problem.
`git annex whereis` says that there are no copies of any of the files annexed in repositories running in direct mode.
This is the error received:
$ git annex whereis
whereis fileA (0 copies) failed
whereis fileB (0 copies) failed
git-annex: whereis: 2 failed
### What steps will reproduce the problem?
The following script (available at <https://gist.github.com/gioele/dde462df89edfe17c5e3>) will reproduce this problem.
[[!format sh """
#!/bin/sh -x
set -e ; set -u
export LC_ALL=C
direct=true # set to false to make the problem disappear
h=${h:-localhost}
dr="/tmp/annex"
sync='sync -c annex.alwayscommit=true'
chmod a+rwx -R pc1 pc2 || true
rm -Rf pc1 pc2
# create central git repo
ssh $h "chmod a+rwx -R ${dr}/Docs.git" || true
ssh $h "rm -Rf ${dr}/Docs.git"
ssh $h "mkdir -p ${dr}/Docs.git"
ssh $h "cd ${dr}/Docs.git ; git init --bare"
d=$(pwd)
# populate repo in PC1
mkdir -p pc1/Docs
cd pc1/Docs
echo AAA > fileA
echo BBB > fileB
git init
git remote add origin $h:$dr/Docs.git
git fetch --all
# simulate a host without git-annex
git config remote.origin.annex-ignore true
git annex init "pc1"
git annex info
$direct && git annex direct
git annex add .
git annex $sync origin
# re-create repo on PC2
cd $d
mkdir -p pc2
cd pc2
git clone $h:$dr/Docs.git
cd Docs
git config remote.origin.annex-ignore true
git annex init "pc2"
git annex info
git annex whereis || true
echo "I was expecting location info to be available after info (press Enter)" ; read enter
git annex $sync origin
git annex whereis || true
echo "Why isn't location info available even after sync? (press Enter)"
"""]]
### What version of git-annex are you using? On what operating system?
git-annex version: 5.20140708-g42df533