E 'la mia prima volta con un DVCS e anche come sviluppatore solitario, la prima volta che ho effettivamente utilizzato rami, così forse mi manca qualcosa qui.Memorizzazione di rami con nome separati in mercuriale, senza dover unirle
Ho un repository remoto dal quale ho estratto i file e ho iniziato a lavorare. Le modifiche sono state trasferite al repository remoto e, naturalmente, questo semplice scenario funziona correttamente.
Ora che la mia applicazione web ha alcune caratteristiche stabili, mi piacerebbe iniziare la distribuzione e così ho clonato il repository remoto in una directory nuove filiali/stabile al di fuori della mia directory di lavoro per il ramo di default e usato:
hg branch stable
per creare un nuovo ramo di nome. Ho creato una serie di script di distribuzione che sono necessari solo dal ramo stabile e li ho impegnati, se necessario. Anche questo ha funzionato bene.
Ora, quando sono tornato alla mia directory di lavoro iniziale per lavorare su alcune nuove funzionalità, ho scoperto che Mercurial insiste sul fatto che solo UN capo si trova nel repository remoto. In altre parole, dovrei unire i due rami (predefinito e stabile), aggiungendo gli script di distribuzione non necessari al mio ramo predefinito per inviare al repository principale. Questo potrebbe peggiorare, se dovessi apportare una modifica a un file nella mia filiale stabile per l'implementazione.
Come mantenere separati i rami denominati in Mercurial? Devo creare due repository remoti separati per farlo? In tal caso i rami nominati perdono il loro valore. Mi sto perdendo qualcosa qui?
Cosa l'ha fatto concludere? Non vedo nulla lì dentro che dice "I rami nominati sono cattivi". Personalmente ritengo che siano molto più facili da gestire rispetto a più repository. –
"Nella maggior parte dei casi, isolare i rami nei repository è l'approccio giusto, la sua semplicità lo rende facile da capire e quindi è difficile fare errori. C'è una relazione uno a uno tra i rami in cui lavori e le directory sul tuo sistema. Ciò consente di utilizzare strumenti normali (non a conoscenza del Mercurial) per lavorare su file all'interno di un ramo/repository. " - Dal libro Mercurial Personalmente, per me il suggerimento di cui sopra porta a un modello mentale più semplice. Ho modificato anche la mia risposta. –
Ah, immagino di non essere d'accordo sul fatto che ciò rende le cose più semplici. Cosa succede se il tuo codice deve essere in una posizione specifica sul tuo filesystem? Copi/riduci le cartelle ogni volta che vuoi cambiare ramo? Se qualcuno vuole ottenere tutte le filiali in un progetto, dovrebbe davvero dover clonare l'intera cosa più volte? –