Comprometerse a una twig diferente con commit -r

¿El CVS permite la asignación de un file a una twig diferente de la que se desprotegió? La página man y algunos sitios sugieren que podemos hacer un cvs ci -r branch-1 file.c pero da el siguiente error:

cvs commit: Falló la comprobación actualizada para `file.c '
cvs [commit aborted]: ¡corrija los errores anteriores primero!

Hice un cvs diff -r branch-1 file.c para asegurarme de que los contenidos de file.c en mi BASE y branch-1 son de hecho los mismos.

Sé que podemos verificar manualmente usando cvs co -r branch-1 , fusionar la twig principal (y arreglar cualquier problema de fusión) y luego hacer un check-in. El problema es que hay un número de sucursales y lo haría gustaría automatizar cosas usando una secuencia de commands. Este hilo parece sugerir que -r ha sido eliminado. ¿Alguien puede confirmar eso?

Si ci -r no es compatible, estoy pensando en hacer algo como:

  • Asegúrese de que las versiones de twig y la versión base sean las mismas con un cvs diff
  • Regístrese en la sucursal actual
  • Mantenga una copy del file en un file temporal
  • Para cada twig:
    • Salida de la sucursal con -r
    • reemplace el file con el file temporal
    • Check in (irá a la sucursal ya que -r está pegajoso)
  • Eliminar el file temporal

La parte de reemploop me suena como una trampa: ¿puedes pensar en algún posible problema que pueda ocurrir? ¿Algo por lo que deba tener cuidado? ¿Hay alguna otra forma de automatizar este process?

Tenga en count que un file puede no estar actualizado incluso si diff muestra salida cero. Por ejemplo, si agrega una línea de text a un file en una confirmación y la elimina en la siguiente, tiene una diferencia cero a lo largo de la ruta de dos revisiones .

En cuanto al commit -r -issue. Para mí, parece una característica experimental, y en realidad una que está mejor con solo usar:

 cvs update -r <branch> <file> cvs update -j <ver> -j <ver> <file> cvs commit <file> 

Además, la propagación de un único compromiso a todas las demás twigs programáticamente como la forma en que sugirió es un asunto ligeramente cuestionable, ya que por lo general se necesita un poco de cerebro humano para resolver los conflictos.