Vamos a arrancar con un repositorio base del cual hacemos get para obtener dos
repositorios independientes, en los cuales realizamos cambios de forma
aislada.
Partimos de una base comun; mostramos los cambios # cd base # darcs chan Wed May 18 02:57:06 ART 2005 Base <base@ej.com.ar> * Agregamos el archivo inicial. Mostramos un poco del archivo "cancion" # cat cancion Tú surgías desde el Cono Sur y venías desde antes, con el amor al mundo bien adentro. Fuk unx kstrkllx quk tk puso xquí y tk hizo dk kstk pukblo. Dk grxtitud nxcikron muchos hombrks quk iguxl quk tú, no qukríxn quk tk fukrxs y son otros desde entonces. [...] # cd .. # Hacemos un get de base, creando un nuevo repo A # darcs get base A Copying patch 1 of 1... done! Finished getting. # Y ahora creamos B # darcs get base B Copying patch 1 of 1... done! Finished getting. #
Tenemos tres repos iguales, vamos a hacer un cambio en A y a arreglar un poco el archivo de arriba. # cd A # vi cancion Uno de los problemas con el archivo es que algunas 'a's estan cambiadas por 'x's, editamos para arreglar eso; y luego hacemos un record # darcs record [...] # darcs changes --last=1 Wed May 18 03:01:42 ART 2005 Fulano A <a@fulano.com.ar> * Arreglar la letra A. # cd .. # Vamos ahora a hacer un cambio en B. # cd B # vi cancion Como antes, arreglamos "cancion", cambiando 'k's por 'e's # darcs record [...] # darcs changes --last=1 Wed May 18 03:08:00 ART 2005 Fulano B <b@fulano.com.ar> * Arreglar la letra E. # cd .. #Miremos un poco como estan los archivos hasta ahora.
El archivo base # cat base/cancion Tú surgías desde el Cono Sur y venías desde antes, con el amor al mundo bien adentro. Fuk unx kstrkllx quk tk puso xquí y tk hizo dk kstk pukblo. Dk grxtitud nxcikron muchos hombrks quk iguxl quk tú, no qukríxn quk tk fukrxs y son otros desde entonces. [...] # El archivo del repositorio A # cat A/cancion Tú surgías desde el Cono Sur y venías desde antes, con el amor al mundo bien adentro. Fuk una kstrklla quk tk puso aquí y tk hizo dk kstk pukblo. Dk gratitud nacikron muchos hombrks quk igual quk tú, no qukrían quk tk fukras y son otros desde entonces. [...] # El archivo del repositorio B # cat B/cancion Tú surgías desde el Cono Sur y venías desde antes, con el amor al mundo bien adentro. Fue unx estrellx que te puso xquí y te hizo de este pueblo. De grxtitud nxcieron muchos hombres que iguxl que tú, no queríxn que te fuerxs y son otros desde entonces. [...] #Vamos a tratar de incorporar los cambios de B en A.
# cd A # darcs pull ../B Wed May 18 03:08:00 ART 2005 Fulano B <b@fulano.com.ar> * Arreglar la letra E. Shall I pull this patch? (1/1) [ynWvxqadjk], or ? for help: y We have conflicts in the following files: ./cancion Finished pulling and applying. #Como vemos, nos dijo que habia conflictos en el archivo. Esto es esperable, dado que darcs solo no puede resolver los cambios pues afectan a las mismas lineas de los archivos, y no hay una forma en la que pueda aplicar los cambios sin garantizar que no se generan problemas.
Por eso nos avisa, para que nosotros "conciliemos" los dos cambios y dejemos
una version valida. Entonces vemos que hay en el archivo con conflictos, y lo
editamos para dejar una version definitiva.
# cat cancion Tú surgías desde el Cono Sur y venías desde antes, con el amor al mundo bien adentro. v v v v v v v Fue unx estrellx que te puso xquí y te hizo de este pueblo. De grxtitud nxcieron muchos hombres que iguxl que tú, no queríxn que te fuerxs ************* Fuk una kstrklla quk tk puso aquí y tk hizo dk kstk pukblo. Dk gratitud nacikron muchos hombrks quk igual quk tú, no qukrían quk tk fukras ^ ^ ^ ^ ^ ^ ^ y son otros desde entonces. [...] # Nos encierra entre "v v v v" y "^ ^ ^ ^" las dos "versiones", una de cada cambio, y espera que nosotros dejemos una definitiva, para lo cual editamos. En este caso tenemos que hacer varios reemplazos a mano para que quede una version completa. # vi cancion # cat cancion Tú surgías desde el Cono Sur y venías desde antes, con el amor al mundo bien adentro. Fue una estrella que te puso aquí y te hizo de este pueblo. De gratitud nacieron muchos hombres que igual que tú, no querían que te fueras y son otros desde entonces. [...] # Entonces hacemos un record, para grabar este patch "conciliador" # darcs record [...] # Vemos todo el historial de cambios # darcs changes Wed May 18 03:21:22 ART 2005 Fulano A <a@fulano.com.ar> * Conciliamos el conflicto. Wed May 18 03:08:00 ART 2005 Fulano B <b@fulano.com.ar> * Arreglar la letra E. Wed May 18 03:01:42 ART 2005 Fulano A <a@fulano.com.ar> * Arreglar la letra A. Wed May 18 02:57:06 ART 2005 Base <base@ej.com.ar> * Agregamos el archivo inicial. #