Background
Mercurial now has Phases which are a great mechanism to keep people from altering history that should not be altered. When a changeset is pushed to remote repository it is made public
and can no longer be rebased
. This is normally a good thing, if the repository is public and you don't want others altering your changesets.
However, if you have your own temporary repository for sharing draft
changesets only with yourself, it can get very annoying. Mercurial has a option to turn this off. Adding this to the .hg/hgrc
file of the remote repository.
[phases]
publish = False
This will prevent changesets pushed to the remote repository from moving from draft
phase to public
phase (both the local changeset and the one just pushed to the remote repository. However, pulling this changeset down still will always pulls it down in the public
phase.
Question
I am hoping to pull down changesets in the draft
phase. I simply want to push a changeset to my personal server then pull it down at home. After I pull it I will rebase
my temporary commit on top of any commits that I have pulled down from our true publishing server.
Any way to avoid the auto-moving of a pulled changeset to public
would be great. This remote repository is a complete and total draft server for myself. Being forced to manually move the changesets back to draft
after an unsuccessful rebase
attempt is really starting to wear on the nerves.
I got this resolved through help on Bugzilla. Here is a snippet of my final post there (thanks for putting me on the right track djc).
I'll edit in any updates, let me know if anyone is still having trouble with this.