2010-03-18 5 views
10

J'ai joué avec des files d'attente Mercurial et Mercurial, et maintenant j'ai une version de travail assez raisonnable. Cependant, avant de soumettre un patch, je voudrais prendre cet historique spagetti et le fusionner en étapes discrètes et logiques, plutôt que le gâchis répété semi-chevauchant do-undo-redo-légèrement-différemment qu'il est maintenant, si seulement pour réduire le nombre de correctifs.Files d'attente Mercurial: combiner des correctifs

Comment faire cela?

Répondre

8

hg qfold est le chemin à parcourir. Soyez très prudent avec cela. Assurez-vous que vous avez lu tous les instructions au préalable. Il est raisonnable de la version de votre patchqueue aussi (comme imbriqué repoository), si vous avez des sauvegardes:

hg qinit [-c]

initialisation d'un nouveau référentiel de file d'attente

Le dépôt de file d'attente est sans version par par défaut. Si -c est spécifié, qinit créera un référentiel imbriqué séparé pour les correctifs (qinit -c peut également être exécuté plus tard pour convertir un référentiel de correctifs non versionné en un versionné). Vous pouvez utiliser qcommit pour valider les modifications apportées à ce référentiel de files d'attente.

+0

Merci, cela a fonctionné! Quelqu'un d'autre a prétendu que 'hg export ...> combined.patch' aurait été tout aussi efficace sans exiger de MQ - est-ce vrai? –

+0

Avec mercurial 1.5 on peut aussi importer plusieurs patchs d'affilée, donc pas besoin de les combiner dans l'export. Vous aurez toujours besoin de MQ pour supprimer vos modifications, ou vous devrez cloner un repo propre et appliquer les correctifs combinés, puis abandonner votre branche. Trop de travail à mon humble avis. –

Questions connexes