2012-01-21 14 views
7

Il risultato che mi serve è che quando si clona un repository il codice si trovi nell'ultima revisione di un ramo che non è il ramo predefinito, senza bisogno di fare "hg update mybranchname" . È possibile?mercurial imposta un ramo come nuovo ramo predefinito

+0

Forse una duplicazione di http://stackoverflow.com/questions/5424377/make-another-branch-default – phemios

+0

hai ragione, la domanda al link sopra è la stessa della mia. Mi dispiace di aver cercato su google ma non l'ho trovato. – giuspen

risposta

8

Il consiglio finora è stato: è necessario always use default as your main branch poiché Mercurial effettuerà il checkout default se lo trova nel repository.

Questo cambia leggermente con Mercurial 2.1: ora è possibile chiudere il ramo default (se ne esiste uno) e aggiungere un segnalibro denominato default al suo posto. Un nuovo clone recupererà il segnalibro e lo aggiornerà, passando in effetti a un altro ramo nel processo.

Si noti che è responsabilità dell'utente mantenere il segnalibro default che punta al capo del ramo che si desidera verificare, quindi questo non è sicuro al 100%.

+0

questa sembra la soluzione completa, grazie. – giuspen

+1

+1 MOLTO interessante! Super. – Andomar

1

è possibile unire il ramo nel ramo di default, come:

hg merge mybranchname 
hg commit 

Ora il ramo è in vigore il ramo principale. È possibile nascondere il vecchio ramo con:

hg update mybranchname 
hg commit --close-branch 
+0

quindi l'unico modo è quello di unire dal ramo predefinito, non posso lasciare molti rami e impostare un ramo personalizzato come nuovo ramo predefinito? – giuspen

+0

Hmm, puoi 'clone -b mybranchname http: //repo.url localdir' per iniziare con" mybranchname "estratto. Non penso che ci sia un modo per fare "punta" su un altro ramo, dato che "tip" è un vero e proprio ramo. – Andomar

+0

@Andomar - tip non è branch, ma bookpark speciale, FYI –

0

Per impostazione predefinita ramo di default non è "default", ma ramo dalla punta.

Basta eseguire il commit prima di clonare su qualsiasi ramo esistente.

+1

scusa non ho capito la tua risposta – giuspen

+0

Ti impegni sempre al ** ramo del changeset di punta ** (se non attivo prima di un altro ramo), non al ramo "predefinito" –

+0

Ho già commesso centinaia di volte su un ramo che mi piacerebbe diventare il ramo predefinito. Capisco che sia possibile solo attraverso l'unione al ramo predefinito – giuspen

Problemi correlati