/ / Mercurial: Qualche idea su come saltare alcuni changeset quando si uniscono i rami? - mercuriale, ramificazione e fusione

Mercurial: Qualche idea su come saltare alcuni changeset durante la fusione tra i rami? - mercuriale, ramificazione e fusione

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 № 1

Questo è 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=