Domanda

Sto usando Mercurial Queues su un repository, e hanno posto le patch in un repository di patch. Un altro collaboratore ha clonato il mio coda delle patch e fatto i cambiamenti dei loro propri. Vorrei ora di unire i loro cambiamenti nel mio repository di patch locale.

Sto cercando di trovare un buon flusso di lavoro per l'esecuzione di questa unione che

  • riflette di modifiche della conferente nella storia del repository di patch
  • invoca strumento di unione per l'utente in caso di conflitti

Inizialmente, ho solo cercato di fondere direttamente le patch. Questo va bene in casi molto semplici, ma non funziona bene quando molte cose sono cambiate, dal momento che le patch dipendono dal contesto linea numero che non sembra come qualcosa che avrei dovuto preoccupare di regolazione me stesso. Nel complesso, ho trovato l'esame di una diff 3 vie di patch di essere troppo complesso.

C'è un modo migliore?

È stato utile?

Soluzione

Non c'è ottimo modo per gestire questa situazione. Quello che mi piacerebbe probabilmente finisce per fare è la creazione di due cloni, e qfinishing il cerotto in uno e la patch contributori nell'altra. Che quel punto avrete pronti contro termine con effetto netto di ogni patch separata applicata. Poi si hg pull uno di quei cloni nell'altro, e hg merge vi permetterà di utilizzare gli strumenti grafici per unire i risultati delle patch - e le uniche differenze dovrebbero essere le differenze nelle vostre patch. A questo punto, idealmente, sarete in grado di qimport il changeset unione, ma non è possibile farlo, in modo da avere a 'hg diff -r tip-tip 1 -r' per ottenere un nuovo diff che è la differenza tra il prima-tutto-iniziato e le-due-risultati dopo-la fusione-. È quindi 'qimport` che diff e si impegnano alla coda delle patch pronti contro termine con una nota dicendo da dove è venuto.

Decisamente sub-ottimale, ma il meglio che può venire con. Mi piacerebbe sentire una soluzione migliore.

Altri suggerimenti

Ho paura che non c'è automatizzato modo di patch di unione.

Tuttavia, un "trucco" che è possibile utilizzare è quello di creare nuove patch invece di modificare / aggiornare le patch esistenti quando è necessario modificarle. Quando tutti d'accordo sul modo giusto di fare le cose, quindi hg qfold le patch.

In questo modo è solito essere intensificando su ogni altri piedi come molto da quando si crea nuove patch.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top