git-annex-5.20140915: doc/bugs/whereis_does_not_work_in_direct_mode.mdwn
### Please describe the problem.
`git annex whereis` says that there are no copies of any of the files that have been added in repositories running in direct mode when `annex.alwayscommit` is set to `false`.
In other words, if I add a file from PC1 in direct mode, `whereis` in PC2 will fail. Instead, if I add the same file from PC1 in indirect mode, `whereis` in PC2 will work correctly and will report that the file is present in PC1.
This is the error received in PC2:
$ 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
# alwayscommit must be set globally to affects whereis and sync
git config --global annex.alwayscommit false
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.20140716-g8c14ba8
> [[fixed|done]] --[[Joey]]