Sigh, I rewrote master to nuke the original commit, but I can't push it out, as it's a non-fast-forward push. That is annoying, but at least, was expected. The usual way you get around it is by deleting master on the remote side, (git push origin :master) and immediately pushing out a new one. This has worked before. Now, though, apparently, I can't do that because:
remote: error: By default, deleting the current branch is denied, because the next
remote: error: 'git clone' won't result in any file checked out, causing confusion.
remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: error: current branch, with or without a warning message.
remote: error: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
In other words, apparently there's some new setting that prevents doing what you need to do, because if you do you might "cause confusion". Furthermore, it seems there is no way to change this setting remotely, nor is there a way to change temporarily what HEAD points to, without having actual file-level access to the remote repository.
On the other hand it did cheerfully let me delete the v0.8-beta1 tag, which would have to go anyway since we have to rewrite history from before that point, but I would have preferred not to do that until I could get master rewritten properly.
Okay it seems I can just push the deleted tag back out so nothing is lost or changed. I don't know how to proceed, though.
Last edited by RjY on May 27 2012 at 10:07