Node:Derivaciones y expansión de palabras -- Enemigos naturales, Previous:La Aproximación del Pez Volador -- Una forma más simple de hacerlo, Up:Salir del limbo (Cómo trabajar con derivaciones y sobrevivir)



Derivaciones y expansión de palabras - Enemigos naturales

Si sus ficheros contienen palabras de expansión en RCS que se sustituyen de forma distinta en la derivación y en el tronco casi seguro que tendrá conflictos en las fusiones. Incluso si nada cambia las palabras de expansión se sobrepondrán y sus sustituciones no se podrán hacer. Por ejemplo; if README.txt contiene esto en el tronco

$Revision: 1.3 $

y esto en la derivación

$Revision: 1.3 $

entonces cuando sea realizada la fusión obtendrá el siguiente conflicto:

floss$ cvs update -j Exotic_Greetings-branch
RCS file: /usr/local/newrepos/myproj/README.txt,v
retrieving revision 1.14
retrieving revision 1.14.2.1
Merging differences between 1.14 and 1.14.2.1 into README.txt
rcsmerge: warning: conflicts during merge
floss$ cat README.txt
 ...
<<<<<<< README.txt
key $Revision: 1.3 $
=======
key $Revision: 1.3 $
>>>>>>> 1.14.2.1
 ...
floss$

Para evitar esto, usted puede temporalmente desabilitar la expansión de palabras pasando la opción -kk (No sé que significa; ¿"kill keywords" (mata palabras) quizá?) cuando haga la fusión:

floss$ cvs update -kk -j Exotic_Greetings-branch
RCS file: /usr/local/newrepos/myproj/README.txt,v
retrieving revision 1.14
retrieving revision 1.14.2.1
Merging differences between 1.14 and 1.14.2.1 into README.txt
floss$ cat README.txt
 ...
$Revision: 1.3 $
 ...
floss$

Tiene que tener cuidado con una cosa; si usa -kk, invalida cualquier otro modo de expansión de palabras que pueda haber establecido para ese fichero. Específicamente esto es un problema para los ficheros binarios que normalmente usan -kb (que suprime todas las palabras de expansión y conversiones de fin de línea). Por lo tanto si tiene ficheros binarios en una derivación no use -kk. Trate los conflictos manualmente.