Come la guida definitiva aptly points out (ricerca di "Tag e la clonazione"):Come ottenere il set di modifiche del tag dopo aver clonato o estratto un tag usando mercurial?
Quando si esegue
hg clone -r foo
clonare un repository come di tagfoo
, il nuovo clone non conterrà alcuna revisione più recente di quella del l'etichetta si riferisce a, inclusa la revisione in cui è stato creato il tag. Il risultato è che avrai esattamente il sottoinsieme giusto della cronologia del progetto nel nuovo repository , ma non è il tag che ti saresti aspettato.
Significa hg tags
nel tuo nuovo clone NON mostra il tag foo
. La stessa cosa accade se si è clonato prima che sia stato aggiunto il tag foo
e si faccia hg pull -r foo
.
(Digressione: il tag è l'unica cosa che non riesco a ottenere in hg. Capisco che ci sono dei vantaggi (ad esempio unire) nel metterlo in un changeset, ma è sempre strano avere metadati mescolati con l'origine codice.)
Dovrebbe essere ovvio che sto chiedendo un modo automatico, invece di tirare il changeset del tag come una fase manuale separata.
So che potrei verificare per questo scenario in un hook incoming
(quindi funziona sia per clonare sia per tirare), oppure per avvolgere clone
e pull
.
Ma c'è un modo migliore/più semplice?
UPDATE hg bug tracker ha già this issue.
I tag che introducono i changeset devono essere una delle poche cose che non mi piacciono di Mercurial –