Although I write and speak a lot about various kinds of source control (git and subversion are the most popular still as far as I can see), my own development projects are on BitBucket under mercurial (bitbucket also offer git hosting these days, and their tools are great). Recently I was working on an upgrade for BiteStats (note shiny new theme, with thanks to @miss_jwo) and I kept getting this error from
not at a branch head
I had cloned my repo locally, pulled in changes from someone else, committed, merged and pushed them back into my main repo, along with a couple of other changes. What I had not realised I needed to do was
hg update to get those changes applied! As soon as I did that, the files were updated and and everything was happy again; I was able to tag and deploy.
I don't do a lot of collaboration in mercurial and clearly I don't do enough branching, however I found it difficult to find any documentation on this error message so I hope it helps someone!