[[!comment format=mdwn
 username="http://joeyh.name/"
 ip="4.154.7.238"
 subject="comment 1"
 date="2013-01-17T00:46:27Z"
 content="""
* Problem 1 - With 3 local annexes git-annex doesn't seem to search properly for them (See code)

While test1 thinks test2 and test3 have the file, they don't; it was just dropped from them. So the check that the other repos have the file is done correctly here, and it correctly refuses to drop it. The message is confusing in that it suggests the repositories are not available.

* Problem 2 - Even after a sync an annex thinks another (local) annex has a file, even after it has been dropped (See code)

I have not fully analized this, but it does not have anything to do with direct mode, it's a location log bookeeping problem.

The merge where this happens looks like this:

<pre>
 - 1358382328.617882s 0 620af8a6-603c-11e2-b332-f3ecf1856be4 (test2)
 + 1358382324.420048s 1 620af8a6-603c-11e2-b332-f3ecf1856be4 (test2)
  +1358382324.572356s 1 622cf3b6-603c-11e2-bb55-4fe0f1a02dee (test3)
++ 1358382328.472266s 0 622cf3b6-603c-11e2-bb55-4fe0f1a02dee (test3)
</pre>

The first 2 lines are the problem, and in this merge, a newer line is deleted leaving behind an older, now incorrect line. Union merge should not be deleting lines at all, so this appears to be a bug in the union merge code.

* SCARY bug - whereis seems to think that a locally dropped file still exists (See code)

This is a consequence of problem 2; the bad location data gets synced back to test2. Of course fsck will fix this, and the location log's is not relied on when dropping files, so this cannot result in data loss at least.
"""]]
