Ecco la nostra situazione: Abbiamo due rami nel nostro repository Mercurial, li chiamiamo Branch A e Branch B.
- Il ramo A è per la versione stabile del codice
- Il ramo B è per il ramo di sviluppo
Tutto ciò che è stato modificato nel ramo A è statounito al ramo B. Tuttavia ora siamo arrivati a un punto in cui il codice nel ramo B ha diverse differenze dal ramo A. Abbiamo apportato alcune modifiche al codice di grandi dimensioni nel ramo A, la fusione di queste modifiche nel ramo B sarebbe un vero problema e in realtà vorremmo realizzare un'implementazione alternativa della soluzione. Tuttavia, in un secondo momento vorremmo anche continuare le modifiche sul ramo A ed essere ancora in grado di unire queste ultime modifiche minori nel ramo B. Quindi la domanda è: È possibile saltare alcuni singoli changeset dal ramo A quando si fondono nel ramo B e unire più tardi i changeset da A a B? (Probabilmente con una soluzione Hg pura e senza soluzioni alternative, con copie da backup e così via ...)
Ecco una panoramica di ciò che avremmo raggiunto:
Branch dei changesets Un ramo dei changesetsB Chgset A.1 Chgset B.1 (Fuso con A.1) Chgset A.2 Chgset B.2 (** Non unito con A.2 **) Chgset A.3 Chgset B.3 (Fuso con A.3 ma non con A.2)
Grazie in anticipo per eventuali consigli
risposte:
6 per risposta № 1Questo è lo scopo esatto del transplant
estensione.
Il transplant
estensione (cherry-picking in altri DVCS) tiene traccia di ciò che viene da dove quando copi i set di modifiche, quindi l'unione è più semplice.
Devi prima attivare l'estensione (lo è incluso ma disabilitato per impostazione predefinita). Nel tuo hgrc
file, aggiungere:
[extensions]
transplant=