I'm having some problems with a direct mode Git Annex repository, created through the Assistant.

I've got two diverged copies of the repository, and I want to reconcile the differences. I ran git annex sync, and it generated a load of files describing the conflicts. I don't want this as I just want to merge preferring the state from one particular repository.

I know this is possible to do in Git, and while having a direct mode repository makes this trickier, this is what I've attempted. I ran:

```
git annex proxy -- git merge remotes/remote1/master -X ours
```

This worked for some files, automatically resolving the merge conflict. However, some files were modified in one repository, and deleted in the other.

Unfortunately, `git annex proxy` now refuses to work due to this:

```
git-annex: Failed to set up proxy work tree.
CallStack (from HasCallStack):
  error, called at ./Command/Proxy.hs:60:33 in main:Command.Proxy
```

So, I can't run the git commands I need to.

Reading the direct mode page, it does state that any git command will work if you pass `-c core.bare=false`. I've tried this with the status, merge and add commands, but all of them refuse to work (saying: `fatal: this operation must be run in a work tree).

My immediate problem is trying to recover the repository I've seemingly broken. I can't work out how to either abort the merge, or resolve the conflicts. Any ideas?

More generally, it would be interesting to know what I did wrong to get in to this mess. All I wanted to do was a merge without having to go round and sort all the variant files that would have been generated by a simple sync.
