I can't understand why Mercurial won't let me push when patches are applied. From my point of view, applied patches affect only the current workspace and pushing isn't influenced by the state of the current workspace.
In other words, I would expect that if I made some commits, then started a patch queue, then pushing would push those commits, and ignore anything going on with patches.
I realize that there probably is a good reason for this and it's my understanding of how mq works that is wrong. So what am I missing? Why can't Hg push just the current outgoing commits?
You can resolve this issue by making MQ changesets secret. The easiest way to do this is by adding the appropriate setting to your .hgrc
, i.e.:
[mq]
secret = true
This will automatically make all mq patches secret. With them secret, you should be able to push the remaining commits normally and without receiving an error message.
Existing mq patches can be made secret with hg phase -f -s <rev>
.