2010-11-30 32 views
8

J'ai commencé à utiliser Mercurial pour mes (nos) besoins de versioning. Je suis maintenant arrivé au point que j'ai besoin de créer une branche de fonctionnalité. Cependant, maintenant que j'ai commencé à travailler dessus - et j'essaie de pousser mes changements, je reçois toujours un avertissement au sujet des nouvelles têtes à distance. C'est stupide, je sais qu'il y aura une nouvelle tête (s) à distance qui est ce qu'une branche est après tout?Branchement dans Mercurial

Comment suis-je supposé créer des branches et les pousser sans ce problème, sans forcer, car ce n'est sûrement pas la bonne façon d'y aller, n'est-ce pas? Je pensais à utiliser des dépôts séparés, mais cela semble tout simplement stupide, surtout pour les branches de fonctionnalité.

Toute aide bienvenue!

+0

Essentiellement une copie (sous un angle différent) de http://stackoverflow.com/questions/6948574/why-is-a-new-branch-flag-needed - vous pourriez trouver les réponses utiles. –

Répondre

13

À ce jour, le meilleur guide là-bas « A Guide to Branching in Mercurial » de Steve Losh.

Mercurial se plaindra toujours de la création de nouvelles têtes sur la télécommande. Vous devez utiliser --force ou --new-branch lors de la création d'une nouvelle tête. Lors de l'utilisation de TortoiseHg, la même chose peut être effectuée via la vue Synchronize du Workbench. Cliquez sur Options, puis sélectionnez l'option Allow push of a new branch ou Force push or pull, au besoin.

TortoiseHg v2.x

La raison pour laquelle il se comporte de cette façon est que les développeurs est Mercurial voulaient en faire une décision consciente de créer une nouvelle tête de la télécommande. Leur point de vue est que les flux de travail typiques devraient fusionner les changements avant de pousser.

+0

Quelle est l'action équivalente sur TortoiseHG pour '--new-branch', voyez, je n'utilise pas la ligne de commande si souvent. – Tower

+0

+1 pour le raisonnement. C'est au moins aussi instructif que la réponse réelle. – grossvogel

+0

@rFactor: J'ai mis à jour ma réponse pour inclure des notes pour TortoiseHg. –

3

Ce tutoriel de Joel Spolsky m'a beaucoup aidé lorsque j'ai commencé avec mercurial. Il pourrait être utile pour vous aussi:

http://hginit.com/