[PATCH 0 of 8 phases] Mq changeset as secret one

pierre-yves.david at logilab.fr pierre-yves.david at logilab.fr
Tue Jan 17 11:35:33 CST 2012


Here is a series that makes mq changeset secret changeset:

What is done
==============

The first two patches prepare and add a "context like" wrapping of all mq call
to repo.commit to ensure the phases.new-commit option is "secret".

The two patches after ensure that phase are propertly moved when revision is
qimported and qfinished

Then we remove part of the qclone logic that is now handled by core with secret

Finally we add necessary mechanism to allow mq to mark changeset it handle as
secret when no data are found (instead of having the whole repo secret.

Remainig stuff related to mq
==============================


1) mq changeset can not be pushed any more (test-mq-safety.t do fail right now).

I see this as a regresion and I do not think this is an acceptable one.

The old way to push mq changeset was to use force. I'm strongly opposed to have
``hg push --force`` pushing secret changeset. (because having push sending
stuff no shown in outgoing is bad).

I would advocate adding a ``--private`` switch to push allowing to push secret
changeset. I've started work in this direction but I'm waiting Matt view on
this topic.

2) What should happen when mq changeset are made something else than secret:

I see two options when such case are detected:

    * Abort

    * qfinish the patches

I do prefer the first one (Abort) but they will probaly be some debate on this question. I decided to considerer the current lack of handling as a Bug to be solved after freeze.


More information about the Mercurial-devel mailing list