[[!comment format=mdwn username="http://adamspiers.myopenid.com/" nickname="Adam" subject="I think Matt is right." date="2011-12-23T14:04:44Z" content=""" I got bitten by this too. It seems that the user is expected to fetch remote git-annex branches themselves, but this is not documented anywhere. The man page says of \"git annex merge\": Automatically merges any changes from remotes into the git-annex branch. I am not a git newbie, but even so I had incorrectly assumed that git annex merge would take care of pulling the git-annex branch from the remote prior to merging, thereby ensuring all versions of the git-annex branch would be merged, and that the location tracking data would be synced across all peer repositories. My master branches do not track any specific upstream branch, because I am operating in a decentralized fashion. Therefore the error message caused by `git pull $remote` succeeded in encouraging me to instead use `git pull $remote master`, and this excludes the git-annex branch from the fetch. Even worse, a git newbie might realise this and be tempted to do `git pull $remote git-annex`. Therefore I think it needs to be explicitly documented that git fetch $remote git merge $remote/master is required when the local branch doesn't track an upstream branch. Or maybe a `--fetch` option could be added to `git annex merge` to perform the fetch from all remotes before running the merge(s). """]]