2010-10-12 13 views
5

Afortunadamente, esta no es una pregunta cargada. Soy un usuario de hg desde hace mucho tiempo, y cumple nuestras necesidades bastante bien. Últimamente he estado trabajando con un consultor y él sigue hablando sobre 'administrar varios repositorios y empujar/tirar/fusionarlos es más fácil' que hg. Más específicamente, creo que quiere decir que impulsar cambios en un repositorio remoto es la parte más fácil. Sin saber mucho sobre Git, no quería decirle que no había mucha diferencia. Tenía la impresión de que en ambos sistemas, presionar y tirar casi siempre implicaba fusionarse si se producían cambios de varias fuentes en el mismo archivo.¿Las fusiones en Git son diferentes a las de Mercurial?

¿Alguien puede ayudar a aclarar lo que puede significar? Su contrato terminó antes de que yo pensara en pedirle que expandiera lo que dijo.

PS He leído estas comparaciones y no se refirió específicamente a mi pregunta:

Important Shock: Git vs. Mercurial, Please Relax

Rockstar Programmer : The differences between mercurial and git

Steve Losh: The real differences between mercurial and git

Respuesta

3

Creo que la palabra clave en su declaración, "Managing varios repositorios y empujar/tirar/fusionarlos es más fácil, "es y. En Git, es muy fácil crear un conjunto de controles remotos "nombrados": repos remotos a los que puede referirse con un nombre. También es fácil tirar ramas desde un control remoto y mantenerlas en su repositorio; estas ramas son esencialmente espacios de nombre bajo el nombre del control remoto, por lo que es fácil agrupar ramas remotas, etc. En otras palabras, es fácil rastrear múltiples repositorios remotos y extraer los cambios de ellos en su propio repositorio.

No he usado mucho Mercurial desde aproximadamente v1.0, por lo que no sé si esto es posible en Mercurial ahora o no; no fue la última vez que revisé Mercurial, hasta donde yo sé.

+2

En mercurial puede agregar rutas con nombre en la sección '[paths]' y listarlas con 'hg paths'. La gente de Git a menudo quiere una forma de agregarlos sin usar un editor de texto, pero agregar una línea en '.hg/hgrc' o' ~/.hgrc' funciona bien. –

+0

¿Puede almacenar todo el estado (ramas, etiquetas, etc.) de controles remotos con nombre en un repositorio de Hg? – mipadi

+0

@mipadi, ¿podría darnos un ejemplo de dicho uso, por favor? No sé nada, pero tengo la sensación de que lo más cerca que puedes estar de lo que describes (también tengo la sensación de que está lo suficientemente cerca, pero estoy parcializado :) es clonar el repositorio remoto, luego agregar una entrada bajo '[paths]' de su propio repositorio, apuntando a su clon. No puedes mantener las cosas remotas separadas de las tuyas en un único refactorio AFAIK (que creo que es lo que dices que puede hacer git). Pero sí, un clon por separado rastrearía todas las ramas remotas, etiquetas, etc. – shambulator

Cuestiones relacionadas