[PATCH 0 of 9 phases] MQ changeset as secret changeset (resent and RFC)

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Jan 17 17:37:41 CST 2012


Here is a resent of the previous series with:

The three first changeset updated according review

The other already sent and not commented changeset

An additional changeset adding a ``--secret`` switch to push. This is oo allow
the mq-safety.t test to pass again. This last changeset is not aimed to be
queued.  It is added to this series as a base to talk about "what do we want to
do about this mq safety". Below is a list of debatable point:

First, the checkpush machinery:

    Mq is currently the only user of "repo.checkpush". And the fact we even
    need it is debatable. Now that mq changeset are secret, they won't be
    pushed by mistake. The question is:

       "do we want pushing mq changeset to keep Abort noisily for backward
        compatibility or should be switch to only silently ignoring mq(secret)
        changeset during push ?"

    the repo.checkpush method is touched by this patch to alter as few as
    possible the current behavior until we decide what to do.

Second, the way the switch is conveyed to discovery code

    The information that discovery should include secret changeset is
    explicitly transmitted through the call stack. A quieter solution based on
    config value was used for commit.

    But, with the prepush function subject to deletion soon and the unsure
    future of repo.checkpush the call stack can become much simpler.

finally the switch name:

    I picked the "--secret" switch[1] because it seemed both explicit and
    simple. Other candidate are the more verbose "--include-secret" other
    simpler options are "--all" or "--any"


-- 
Pierre-Yves David


[1] may become --private soon



More information about the Mercurial-devel mailing list