## What steps will reproduce the problem?

Running the following in an annex with an archive directory with all the files dropped and located offsite

     git annex direct

It seems that if not all the files are in the annex, then the direct mode files.

## What is the expected output? What do you see instead?

The expectation is that either direct mode reverts its changes if it fails instead of

    url: createLink: does not exist (No such file or directory)
    failed
    git-annex: direct: 1 failed

It leaves the annex in the indirect mode, but there are a bunch of .map files lying around in git-annex's control directory.

## What version of git-annex are you using? On what operating system?

Running 3.20130102 on OSX

## Please provide any additional information below.

> More specifically, git annex direct fails, on OSX only, when there are two
> files that both have the same content. Apparently OSX doesn't allow
> hard linking two symbolic links together. There was no harm in it doing that
> otherwise, but then again no reason for it to do so, so I've put in a fix.
> [[done]] --[[Joey]] 
