Sto usando mercurial per il controllo del codice sorgente. Voglio avere un ramo dev principale, e poi avere punti nel tempo che si allineano con dire "v1.0" "v1.01" e "v2.0", in modo che in qualsiasi momento posso tirare giù dire "v2.0 "e schiacciare alcuni bug su di esso. Ho sentito alcune persone dire che ho bisogno di tag, alcuni dicono che ho bisogno di segnalibri, altri dicono che ho bisogno di rami nominati, e altri ancora dicono che ho solo bisogno di mantenere più repository clonati. Dal mio punto di vista, più repository clonati sembrano una scelta sbagliata perché una cosa che mi piace di DVCS è che una volta clonato il repository "the", hai tutta la cronologia passata e puoi ripristinare totalmente da qualcuno laptop se la tua centrale il server brucia. Se il repository è suddiviso in tutto il luogo, mi sembra di perdere questo vantaggio, a meno che non ci si aspetti che le persone clonino 5 repository e li mantengano sul proprio computer localmente. Questo mi preoccupa perché la maggior parte della gente dice che questo è un buon modo per farlo, ma logicamente non ha senso per me. (Capisco che questo non è un modo corretto per fare i backup, ma non avere il pieno accesso a una parte del repository senza tornare al server mi sembra strano)Mercurial Release Management
Quindi per me, il modo di tenere tutto insieme deve essere tag, rami nominati o segnalibri. Tuttavia, non riesco a differenziarli. Le persone tendono a spiegare i segnalibri come "un po 'come i tag, con qualche avvertimento" e le diramazioni nominate come una sorta di tag in movimento che è probabilmente fatto meglio con i cloni.
Mi piace molto il branching di stile git (singolo repo, più rami al di fuori di esso), tuttavia, non voglio ricorrere a plugin o hack strani per renderlo simile a git. Voglio capire il giusto modo mercuriale.
Bonus: in che modo i rami "in scala ridotta" si inseriscono nel mix, cioè si desidera lavorare su una piccola funzionalità nel proprio ramo?