Questions tagged [mercurial-phases]

Phases are Mercurial's way of marking changesets `public` (published), `draft` (unpublished), or `secret`. Public changesets cannot easily be rebased, etc., providing a level of safety when mutating repositories.

Phases were introduced in Mercurial 2.1: they allow one to keep track of which changesets have been shared/published (public) and which ones have not (draft and secret). Destructive repository changing operations like rebase are not allowed on public changesets as other repositories may be based on these.

Information about the phases of various revisions can be seen with the hg phase command:

hg phase REV

References

14 questions
23
votes
3 answers

After pushing to a review repository, "abort: can't rebase immutable changeset" on rebase

We have a code review repository where people hg push -f all sorts of stuff. After reviews are complete, we pull from the project's central repository, rebase, and push. I recently upgraded to mercurial 2.1 and get this message: abort: can't rebase…
nmichaels
  • 49,466
  • 12
  • 107
  • 135
12
votes
2 answers

How do I tell (locally) mercurial that a server is non-publishing?

How can I tell mercurial that a remote server (originally on bitbucket for example, but they no longer support Mercurial) is non-publishing when I do not have access to the remote .hg/hgrc file? Background Recent versions of mercurial has a concept…
mforbes
  • 7,062
  • 3
  • 16
  • 21
12
votes
6 answers

Push secret changesets

That may look paradoxical, I know that secret changesets are meant to be private, but what if I want to backup those secret changesets? I work with some branches in parallel and sometimes I want to push one, but not the others. To achieve that, I…
Rafael Piccolo
  • 2,328
  • 1
  • 18
  • 29
8
votes
2 answers

Mercurial: Include secret changesets in bundle?

Using Mercurial, how can I bundle all changesets not known to be in another repository, including secret changesets? I know bundle's --base option happens to include secret changesets, but I don't want the --base behavior. (And it seems unusually…
Jon-Eric
  • 16,977
  • 9
  • 65
  • 97
5
votes
2 answers

How to avoid mercurial obsolete warning on clients without evolve extension

I currently work for a company that uses mercurial, but most developers use MQ instead of the new evolve flow. Therefore, most users do not have the extension enabled. Every time I push to the main repository, .hg/store/obsstore gets automatically…
4
votes
1 answer

How can one access a hidden changeset from a Mercurial server?

I have a clone of a remote repository which supports Mercurial topics. In this version of hg-evolve when the changesets are rebased (for instance) they are hidden. I need to access the exact working directory at a hidden changeset which I do not…
Will S
  • 744
  • 8
  • 17
4
votes
4 answers

How to keep changesets in phase “draft” on hg push?

How can I hinder mercurial from putting changesets to phase “public” on push operations? I want them to stay “draft”. I rebase and histedit a lot, and the repository I push to is for me only. And having to change the phase all the time is a…
Robert Siemer
  • 32,405
  • 11
  • 84
  • 94
4
votes
2 answers

Git equivalent of Mercurial phases?

In mercurial, I regularly use secret changesets to track my work on stuff that isn't quite ready to push yet. Then, if I need to make an emergency change to some file, I can update to the public revision, make that change and push it, without…
4
votes
2 answers

Edit .hgrc of repository on bitbucket

Is there a way to access and edit the .hgrc file of a Mercurial repository on Bitbucket? I am talking about the repository on Bitbucket itself, not a local clone of it. The use case is that I would like to add the following in the .hgrc…
HighCommander4
  • 50,428
  • 24
  • 122
  • 194
3
votes
1 answer

Force mq to work only on drafts

Recently Mercurial added phases. Is this possible to restrict mq to work only on phase draft? It should show a warning when I try to strip public changeset.
seler
  • 8,803
  • 4
  • 41
  • 54
3
votes
1 answer

Can "secret" be set to the default phase of mercurial?

I would like to create "secret" commit instead of "draft" commit by default in a mercurial project. Is there any way to configure mercurial so that the default phase is "secret" instead of "draft" ?
Vinz
  • 5,997
  • 1
  • 31
  • 52
3
votes
2 answers

Mercurial: Pull changes from remote repository without public phase (non-publishing server, "abort: can't rebase immutable changeset")

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…
2
votes
1 answer

Can "secret" be the Mercurial equivalent of assume unchanged/skip worktree?

Let's assume that I want to comment out the login verification or hardcode a password in an application, just for the personal convenience of logging in immediately while developing. I don't want to ever commit this change and I am 100% sure that I…
lib
  • 2,918
  • 3
  • 27
  • 53
1
vote
2 answers

How to clone topics in mercurial?

Background: Mercurial Topics Mercurial has a nice feature call topics as part of the evolve extension. These act as temporary lightweight local branches, and are an integral part of the Heptapod workflow, ensuring nice interactions with Git (via…
mforbes
  • 7,062
  • 3
  • 16
  • 21