Pregunta

Estoy trabajando en un proyecto en el que tengo una confirmación de que introdujo una característica con los principales problemas que no fueron descubiertos de inmediato. Ahora quiero eliminar por completo esa revisión, manteniendo el trabajo siguiente, pero estoy teniendo dificultades para envolver mi cabeza alrededor de esta manera 3 de mezcla. Aquí es una gráfica simplificada de mi proyecto.

o  changeset:   134:7f81764aa03a
|  tag:         tip
|  parent:      128:451d8a19edea
|  summary:     Backed out changeset 451d8a19edea
|
| @  changeset:   133:5eefa40e2a29
| |  summary:     (Change I need to keep keep)
| |
*snip 3 commits*
| o  changeset:   129:5f6182a97d40
|/   summary:     (Change I need to keep keep)
|
o  changeset:   128:451d8a19edea
|  summary:     (Change that introduced a major problem)
|
o  changeset:   127:4f26dc55455d
|  summary:     (summary doesn't matter for this question)

Si entiendo esto correctamente, R127 y R134 son exactamente los mismos. Cuando hg up -C -r 133 y luego corro hg merge, Meld aparece con tres formas de una de mis archivos: locales, base, y otra. locales parece ser R133 pero estoy teniendo dificultades para envolver la cabeza en torno a lo "base" y "otra" media.

¿Fue útil?

Solución

local es R133

Otros es R134

Base es r128 (el antepasado común a ambos R133 y R 134)

Al realizar una combinación de 3 vías que compara los tres de los juntos para ayudarle a decidir qué llevar y desde dónde. Al ver lo que es el cambio en la otra revisión y lo que el ancestro común parecía que son capaces de tomar una decisión mucho más informada sobre qué guardar y qué cambio.

Otros consejos

Su pregunta es muy confuso, pero aquí hay alguna información que puede ayudarle.

  • ¿Cuál es la base?

Base es la versión no modificada de la revisión que ha comprobado actualmente fuera y trabajado. donde posiblemente otros cambios han bifurcado fuera (se puede tener en las revisiones entre su actual local y base!). es sólo cuando la revisión más cercana donde ningún otro tenedor ha desviado de después (mismo padre) (en su caso r128)

  • ¿Cuál es la cabeza?

La cabeza es la última revisión de control de versiones. si trabaja solo en un solo ejemplar que probablemente será la base. sino un compañero de trabajo podría haber modificado el mismo archivo y comprobado en el control de versiones, a continuación, la cabeza es posterior a su base.

  • ¿Cuál es local?

local es su versión modificada (en su caso R133)

  • ¿Cuál es la otra?

Otro es el tenedor alguna / sucursal que tiene también su base como padre (en su caso R134)

  • ¿Cómo funciona el trabajo de 3 vías de combinación?

funciona de 3 vías de combinación (por lo menos en MELD) jerárquicamente. generalmente de izquierda a derecha como esto:

local> base> otro / cabeza

base / local es sobre todo trivial, ya que es sólo lo que ha modificado

A continuación, se puede fusionar los cambios en la revisión de cabecera o el de su compañero de trabajo o lo que sea.

Puede haber varias otras revisiones / cabeza, pero entonces no es su trabajo para la fusión y, por tanto, más de 3 vías comparación no tiene sentido.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top