2009-07-29 12 views
26

Así que he estado trabajando en un sitio tipo wiki. Lo que estoy tratando de decidir es cuál es el mejor algoritmo para fusionar un artículo que dos usuarios están editando simultáneamente.Algoritmos de combinación de tres vías para el texto

Hasta ahora estoy considerando usar el método de Wikipedia para fusionar los documentos si se editan dos áreas no relacionadas, pero descartando el cambio anterior si dos conflictos entran en conflicto.

Mi pregunta es la siguiente: si tengo el artículo original y dos cambios, ¿cuáles son los mejores algoritmos para fusionarlos y luego tratar con los conflictos a medida que surgen?

Respuesta

29

El excelente artículo de Bill Ritcher "A Trustworthy 3-Way Merge" habla sobre algunos de los problemas comunes con la fusión de tres vías y soluciones inteligentes que los paquetes comerciales de SCM han utilizado.

La combinación de 3 vías aplicará automáticamente todos los cambios (que no se superponen) de cada versión. El truco es manejar automáticamente tantas regiones casi superpuestas como sea posible.

+0

Papel fresco, gracias por el enlace! – icco

+0

Cambio la URL porque la que ha dado ahora es 404. Espero que todavía se esté refiriendo al mismo artículo. – ChrisW

+0

Sí, eso es todo. Gracias por actualizarlo! –

2

Francamente, confío en diff3. Está en casi todas las distribuciones de Unix, y siempre puedes construir y agrupar un .EXE para Windows para asegurarte de que está ahí para tus propósitos.

Cuestiones relacionadas