Ho iniziato di recente a lavorare con MQ poiché mi piace l'idea di lavorare su patch isolate e di eseguire commit senza influenzare il repository finché il changeset non è sufficientemente rifinito. Prima di allora, lavoravo con l'estensione degli scaffali di Mercurial, ma l'ho trovato un po 'instabile. Quello che sto ancora cercando di capire in MQ è come mantenere le patch separate l'una dall'altra e applicarle in nessun ordine particolare, e attraverso rami diversi. Ecco la mia normale flusso -Mercuriale - Utilizzo di code simili a scaffali?
1. iniziare a lavorare su una nuova patch:
hg qnew fix-bug-1234 -m "fix bug 1234"
# do some work
hg qrefresh
2. avere una nuova caratteristica/bug su cui lavorare:
hg qpop fix-bug-1234
hg qnew some-feature -m "implement feature X"
# some work on feature X (perhaps in a different branch)
hg qrefresh
A questo punto, vorrei tornare a lavorare su bugfix e mettere da parte le funzionalità. Ho pensato che è semplice come:
hg qpop some-feature
hg qpush fix-bug-1234
# wrap up bug fix
hg qfinish fix-bug-1234
# get back to work on feature
Tuttavia, MQ sembra utilizzare sempre l'ultima patch creata nella serie, e si applica indipendentemente dal comando di qpop/qpush sto usando. Devo notare che i file su cui lavoro sono completamente separati (anche se a volte possono essere uguali).
Mi manca qualcosa qui? Dovrei usare hg qqueue
per questo? Grazie.