2013-08-15 3 views
1

Je sais que git refusera de pousser vers un dépôt non-nu, mais hg ne semble pas ... Cela signifie-t-il que je n'ai pas besoin de m'inquiéter de la nudité lorsque je clone avec hg? J'ai expérimenté (dans pastebin ci-dessous), et je n'ai pas vu de problèmes avec cette approche, mais mon incapacité à trouver des problèmes n'est pas la même chose qu'il n'y a pas de problèmes. De plus, j'ai autopush activé dans mon .hgrc ...Un workflow de hg clone sur des référentiels hg non-bare est-il sécurisé?

http://pastebin.com/qZyyqb6p

Répondre

2

Mercurial ne rien auto-fusion lorsque vous poussez, afin de pousser à un référentiel non-nu est complètement sûr. C'est pourquoi Mercurial ne fait pas de distinction entre des dépôts nus et non-nus - un référentiel nu est simplement un référentiel où le répertoire de travail est à la révision null (c'est-à-dire avant la validation initiale).

Si vous apportez une nouvelle tête à une branche existante, Mercurial vous demandera de spécifier hg push -f. En effet, le fait d'avoir plusieurs têtes sur la même branche impose des complications supplémentaires aux autres développeurs et pourrait potentiellement entraîner une fusion des têtes de différentes manières, conduisant à une cascade de fusions inutiles.

Le flux de travail que vous devez généralement suivre est pull; fusionne vos nouvelles têtes à la tête existante; appuyez sur. Bien sûr, cela dépend aussi fortement de la stratégie de branchement que vous utilisez - celle qui utilise des signets (équivalent à des branches git) ou une branche anonyme pour des tâches se termine souvent par plusieurs têtes sur la même branche nommée, alors qu'une autre utilise des branches nommées ont tendance à ne pas le faire.

Questions connexes