Domanda

Ho due rami, il ramo principale (nero) e un ramo caratteristica (giallo).

Come puoi vedere, dal momento che il ramo della funzione è stato biforcuto, è stato aggiornato per recuperare le modifiche da main:

alt text http://azkotoki.org/images/stackoverflow/tgh-reintegrate1 .gif

Quando reintegro il ramo della funzionalità in quello principale, la finestra del registro mostra questo brutto grafico:

alt text http://azkotoki.org/images/stackoverflow/tgh-reintegrate2 .gif

Mostra ogni punto di unione come un nuovo ramo che è stato unito al ramo della funzione. Se avessi diversi rami di caratteristiche questo sarebbe quasi impossibile da leggere. Ho anche provato con hg view e i risultati sono ancora più strani.

Indipendentemente dall'immagine mostrata sopra, i risultati della fusione finale vanno bene, ma il grafico con il ramo reintegrato mi dà fastidio.

Sto sbagliando qualcosa unendomi al ramo delle funzionalità troppe volte? O mi aspetto troppo dalla finestra di registro di tortoisehg :)?

Grazie in anticipo

È stato utile?

Soluzione

Il grafico appare così poiché le revisioni sono ordinate in base ai loro numeri di revisione. Il repository principale ha le revisioni ordinate e numerate in questo modo:

0 Imported initial repo.
1 Trivial change to also echo b.
2 Added another echo for c.
3 Echo for d.
4 Echo for e.

Ciò riflette l'ordine in cui i changeset sono stati aggiunti al repository. Il repository del ramo delle caratteristiche ha questo ordine:

0 Imported initial repo.
1 Trivial change to also echo b.
3 Added another echo for c.
4 Automatic merge...
5 Echo for d.
6 Automatic merge...
7 Echo for e.
8 Automatic merge...

Anche in questo caso tutto è ordinato bene. Ma quando si tira il ramo della funzione nel repository principale vengono aggiunti solo i changeset mancanti. Il risultato in generale è quindi:

0 Imported initial repo.
1 Trivial change to also echo b.
2 Added another echo for c.
3 Echo for d.
4 Echo for e.
5 Refactored echos to print.
6 Automatic merge...
7 Automatic merge...
8 Automatic merge...

e il grafico riflette questo.

Come notate, il repository va bene - questo è solo un artefatto di come i changeset sono ordinati su disco. Se lo si desidera, è possibile scambiare il repository con il grafico piacevole con quello con il grafico brutto poiché ora contengono gli stessi changeset. Ricorda solo di spostare qualsiasi impostazione importante da .hg / hgrc (copia il file dal clone con il brutto grafico).

A proposito, quando guardo il grafico nel mio clone di http: // hg. intevation.org/mercurial/crew/ (il ramo di sviluppo di Mercurial) e confrontalo con il grafico in un nuovo clone di https://www.mercurial-scm.org/repo/hg (il ramo principale di Mercurial) vedo lo stesso fenomeno.

Altri suggerimenti

Un modo per ottenere un " più bello " grafico sarebbe usare il TortoiseHg pre 2.0 che aveva una modalità grafica compatta. In questa modalità il tuo secondo repository avrebbe solo due colonne di linee, simili a quelle del tuo primo screenshot.

Sfortunatamente questa funzione non è stata trasferita da GTK a Qt, quindi non è presente nella versione corrente (2.1.2) di TortoiseHg.

Quando guarderai più da vicino vedrai che entrambi i grafici sono (quasi) identici, ma la presentazione è diversa. Quello, che assomiglia a 3 rami diversi, è in realtà un ramo, ma presentato leggermente diverso.

Ho scritto " quasi " perché i numeri di revisione sono stati riordinati. E questo è davvero strano ...

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