2010-10-12 8 views
5

J'espère que ce n'est pas une question chargée. Je suis un utilisateur de longue date de hg, et il répond assez bien à nos besoins. Dernièrement, j'ai travaillé avec un consultant et il continue à propos de la gestion de plusieurs repos et de pousser/tirer/fusionner est plus facile que hg. Plus précisément, je crois qu'il veut dire que pousser les changements à un dépôt à distance est la partie la plus facile. Ne sachant pas grand-chose sur Git, je ne voulais pas lui dire qu'il n'y avait pas beaucoup de différence. J'avais l'impression que dans les deux systèmes, pousser et tirer impliquait presque toujours la fusion si des changements provenant de plusieurs sources se produisaient dans le même fichier. Est-ce que quelqu'un peut aider à clarifier ce qu'il peut vouloir dire? Son contrat a pris fin avant que je ne pense à lui demander de développer ce qu'il a dit.Les fusions dans Git sont-elles différentes de celles de Mercurial?

PS J'ai lu ces comparaisons et ils ne traite pas spécifiquement ma question:

Important Shock: Git vs. Mercurial, Please Relax

Rockstar Programmer : The differences between mercurial and git

Steve Losh: The real differences between mercurial and git

Répondre

3

Je pense que le mot-clé dans sa déclaration, « Gestion plusieurs repos et en les poussant/tirant/fusionnant est plus facile, "est et. Dans Git, il est très facile de créer un tas de télécommandes "nommées" - des repos distants auxquels vous pouvez vous référer avec un nom. Il est également facile de tirer des branches depuis une télécommande et de les garder dans votre repo; ces branches sont essentiellement nommées sous le nom de la télécommande, de sorte qu'il est facile de regrouper des branches distantes ensemble et ainsi de suite. En d'autres termes, il est facile de suivre plusieurs dépôts à distance et d'en tirer les changements dans votre propre dépôt.

Je n'ai pas beaucoup utilisé Mercurial depuis la v1.0, donc je ne sais pas si cela est possible dans Mercurial maintenant ou pas; ce n'était pas la dernière fois que j'ai vérifié Mercurial, autant que je sache.

+2

Dans mercurial, vous pouvez ajouter des chemins nommés dans la section '[paths]' et les lister avec 'hg paths'. Les gens de Git veulent souvent un moyen de les ajouter sans utiliser un éditeur de texte, mais ajouter une ligne dans '.hg/hgrc' ou' ~/.hgrc' fonctionne bien. –

+0

Pouvez-vous stocker tout l'état (branches, étiquettes, etc.) des télécommandes nommées dans un repo Hg? – mipadi

+0

@mipadi, pourriez-vous donner un exemple d'une telle utilisation s'il vous plaît? Je ne sais pas git, mais j'ai le sentiment que le plus proche vous pouvez obtenir hg à ce que vous décrivez (aussi avoir le sentiment que c'est assez proche, mais je suis partial :) est de cloner le repo à distance, puis ajouter une entrée sous '[chemins]' de votre propre dépôt, pointant vers votre clone. Vous ne pouvez pas séparer les choses à distance des vôtres dans un seul rapport de hg AFAIK (ce que je pense est ce que vous dites que git peut faire). Mais oui, un clone séparé suivrait toutes les branches distantes, balises, etc. – shambulator