Sont Mercurial File d'attente des commandes spécifiques équivalent Mercurial commandes --mq paramètre?

StackOverflow https://stackoverflow.com/questions/4971202

  •  12-11-2019
  •  | 
  •  

Question

Je suis en train d'apprendre Mercurial Files d'attente et je suis confus par là d'être à la fois un tas de "hg q*" commandes et aussi de nombreux normale de hg commandes avec le "--mq" paramètre.Je pense que l' --mq paramètre est destiné à remplacer une partie de la q* les commandes, mais je ne suis pas sûr.Il ne semble pas être un tutoriel ou de la documentation sur le (nouveau?) les méthodes privilégiées.

Était-ce utile?

La solution

L' --mq option affecte toutes les commandes qui prennent un référentiel comme un argument -- le ciblées pensions être $(hg root)/.hg/patches, donc c'est effectivement la même que l'exécution de toutes les mercurial de commande comme ceci:

hg --repository $(hg root)/.hg/patches ....

Resultingly, chaque commande a un -R/--repository option a un --mq option et n'a pas besoin d'être modifiées pour en obtenir un.Toute commande que vous avez utilisé précédemment dans mercurial:commit, push, pull, résumé, id, etc.peut prendre --mq.Voici pertinentes du code python:

def mqcommand(orig, ui, repo, *args, **kwargs):
    """Add --mq option to operate on patch repository instead of main"""

    # some commands do not like getting unknown options
    mq = kwargs.pop('mq', None)

    if not mq:
        return orig(ui, repo, *args, **kwargs)

    q = repo.mq
    r = q.qrepo()
    if not r:
        raise util.Abort(_('no queue repository'))
    return orig(r.ui, r, *args, **kwargs)

Autres conseils

Les commandes que l' --mq drapeau de rendre inutiles ont été marquées obsolète, de sorte qu'ils disparaissent de hg help mq.C'est pourquoi qcommit et qinit pas de longs show up.

Vous pouvez toujours le faire hg qcommit pour afficher l'aide de la commande si vous êtes curieux.

Personnellement, je n'aime pas l' --mq le drapeau.Au lieu de cela j'utilise un shell alias:

mq='hg -R $(hg root)/.hg/patches'

et puis je peux faire mq status, mq commit, mq push, etc.Je trouve que la distinction entre les hg et mq les noms de commande de correspondre à la façon dont je pense à l'exploitation.Notez que cette simple alias de ne pas prendre de multiples files d'attente en compte, donc si vous l'utilisez hg qqueue, alors vous aurez à les étendre un peu.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top