[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="216.145.95.162"
 subject="comment 2"
 date="2014-05-19T17:04:16Z"
 content="""
Direct mode and indirect mode behave the same here -- in indirect mode, if you unlock and modify a file, whereis will show the location of the annexed file, not the un-added version. In general all git-annex commands except of course `add` and `status` operate on the files that are staged in the index or committed, not un-staged files in the work tree. This is consistent with git's own behavior.

It is true that in direct mode, whereis will say that a file that has been modified is present locally, even though the modification has changed the only local copy of the file -- so it's not actually present locally. However, I don't think it makes sense to make whereis check if the file is actually still locally present before showing it is. whereis shows location tracking information, which can be out of date for many reasons.
"""]]
