mercurial - titolo - related hashtags instagram




Mercurial via TortoiseHg: unisci un ramo con nome e poi lo chiudi (4)

In TortoiseHg, la tua copia di lavoro deve essere aggiornata alla punta del ramo che vuoi chiudere prima di usare la finestra di commit.

La chiusura di un ramo creerà un nuovo changeset in cima al tip del ramo.

L'errore che hai descritto ( abort: can only close branch heads ) si verifica in genere se è stato aggiornato a un changeset non sulla punta di un ramo denominato.

Ho un ramo denominato, NewFeature, che ho fatto fuori dal ramo predefinito. Ho reso una coppia impegnata in quel ramo, e ora vorrei fonderla per ricongiungermi al ramo predefinito.

Ora (ogni lettera è un commit):

   default: A---B
NewFeature:      \--C---D

Cosa mi piacerebbe:

   default: A---B-----------E
NewFeature:      \--C---D--/

Ho provato a fare clic destro sulla directory e selezionando "Hg Commit ...". Ho quindi selezionato "Chiudi corrente denominata ramo". Ho ricevuto questo errore: abort: can only close branch heads

Ho anche cercato un'opzione "close branch" nel repository explorer, ma non ho trovato nulla.

Qualcuno potrebbe aiutarmi? Grazie in anticipo!

Modifica: ho pubblicato un issue su TortoiseHg


Per chiunque sia confuso dalle risposte a questa domanda, ecco le istruzioni su come farlo all'interno del Workplace da TortoiseHg:

Come unire feature branch e close branch

  1. Open TortoiseHg Workbench.
  2. Seleziona il tuo repository dal repository del registro.
  3. Passa al ramo che desideri unire il tuo ramo (di default in questo esempio):

  1. Fai clic con il pulsante destro del mouse sul ramo che desideri unire e chiudere (Nuova funzionalità in questo esempio) e seleziona Unisci con locale . Questo unirà le modifiche del ramo dal ramo NewFeature in default :

  1. Verrà visualizzata una finestra di conferma che conferma che le modifiche verranno unite da un ramo all'altro, fare clic sui passaggi Avanti, Esegui ora e Fine :

  1. Ora puoi vedere dal grafico che le modifiche sono state unite, ora possiamo chiudere il ramo NewFeature poiché non ne abbiamo più bisogno:

  1. Aggiorna il tuo locale al ramo che desideri chiudere, in questo caso è NewFeature :

  1. Fai clic su commit , il grande segno di spunta verde nella parte superiore del workbench.

  2. Nella finestra di commit, dovresti vedere il ramo che vuoi chiudere sopra la casella di testo del commento. Fai clic sul nome del ramo:

  1. Apparirà una finestra e selezionerà il ramo corrente chiuso :

  1. Ora fai clic su commit. Il tuo grafico dovrebbe mostrare che il ramo è chiuso:


Sembra che anche tu abbia ricevuto questo errore: il ramo è già chiuso, cioè prova a chiudere un ramo chiuso. Un messaggio di errore più utile sarebbe utile.


L'esempio che offri è più un'unione che una vera chiusura . Inoltre, se è così semplice, probabilmente non vuoi / devi creare un ramo con nome.

Ma se vuoi davvero chiudere un ramo attraverso TortoiseHg, ad es

  1. hai creato il ramo NewFeature
  2. quindi sono stati modificati sia il ramo Default che i rami NewFeature
  3. quindi se il ramo NewFeature richiede un po 'di tempo potresti anche aver già fuso varie volte Default in NewFeature (per evitare di avere troppe differenze quando vorrai finalmente unire il ramo NewFeature a quello Predefinito)
  4. alla fine la tua nuova funzionalità è interamente implementata o abbastanza stabile, hai unito il ramo NewFeature a quello Predefinito

D'ora in poi, nessuno dovrebbe commettere qualcosa sul ramo NewFeature, quindi ti piacerebbe chiuderlo.

Puoi farlo in TortoiseHg (ho la versione 2.3.2):

  1. fai clic su Hg Commit ... quando sei sulla tua filiale NewFeature (non c'è bisogno di avere nulla da impegnare - o lo fai con la tua unione finale)
  2. fai clic su "Branch: NewFeature" (è in alto in grassetto)
  3. seleziona "Chiudi il ramo attuale" .




tortoisehg