Quindi adesso sto imparando Ruby on Rails e sto lavorando al libro "Agile Web Development with Rails". Ho anche deciso che voglio dare a Mercurial una possibilità, perché ho letto su SCM distribuiti, e sembra una situazione ideale. Comunque, comunque, preferisco spingere il mio codice da remoto sul mio VPS Linux, solo nel caso in cui il mio disco fisso decida di fare un tuffo.Branching with Mercurial SCM
Quindi, la mia domanda è specifica per la ramificazione in Mercurial. In questo momento ho creato un repository remoto e posso facilmente cambiare i cambiamenti su SSH (ho anche creato un sito Nginx FastCGI che mi permette di spingere anche io). Quello che mi piacerebbe fare, comunque, è creare dei rami per ogni capitolo mentre lavoro su di loro, così posso mantenere una bella storia organizzata dei miei progressi attraverso il libro. Quindi questo è quello che sto facendo:
$ hg branch chapter-10 (do chapter 10 stuff) $ hg commit -m "Chapter 10 complete" $ hg update default $ hg merge chapter-10 $ hg commit -m "Merging chapter 10 into default" $ hg push
Una volta che eseguo la dichiarazione spinta, ottengo questo messaggio da Mercurial:
pushing to ssh://myserver/hg/depot searching for changes abort: push creates new remote branch 'chapter-10'! (did you forget to merge? use push -f to force)
Quindi a questo punto provo a fare un hg merge
di nuovo, e mi dice che non c'è niente da unire, il che è ovviamente vero perché l'ho appena unito. Quando forzo la spinta con -f, tutto sembra a posto, e anche l'interfaccia web mostra i rami appropriati.
Per riassumere, la mia domanda è semplice: sto facendo questo nel modo giusto? C'è un modo più appropriato per farlo con Mercurial (cioè il "modo Mercuriale")? Onestamente voglio solo che il repository serva da backup. Sono un fan del modello SCM distribuito, ma a me sembra un po '"sporco" per forzare le spinte. Qualsiasi consiglio é ben accetto! Grazie in anticipo.
Il tuo intento è: a) Avere una serie di punti di controllo del tuo lavoro mentre passi attraverso i capitoli o b) Avere più capitoli aperti per la modifica simultanea su rami diversi? – Tarydon
L'opzione A è il mio intento qui, ma in uno scenario di squadra potrei vedere il valore anche nell'opzione B –