Versiones de directorios

Subversion sigue estructura de árbol, no solo el contenido de ficheros. Es una de las razones más grandes por las que Subversion fue escrito para reemplazar CVS.

Esto es lo que significa para usted, como anterior usuario de CVS:

Vamos a hablar más sobre este último punto. El versionado de directorios es un duro problema; porque queremos permitir copias de trabajo con revisiones mezcladas, hay algunas limitaciones en cómo podemosabusar de este modelo.

Desde un punto de vista teórico, definimos revisión 5 del directorio foo para significar una colección específica de directorios-entradas y características. Ahora suponga que empezamos a añadir y a quitar ficheros de foo, y luego enviamos el cambio. Sería una mentira decir que todavía tenemos la revisión 5 de foo. Sin embargo, si vemos el número de revisión de foo después del envío, también sería esto una mentira; puede haber otros cambios en foo que todavía no hayamos recibido, porque no hemos actualizado todavía.

Subversion trata este problema siguiendo silenciosamente las agregaciones y las eliminaciones enviadas en el área .svn. Cuando usted ejecuta finalmente svn update, todas las cuentas se fijan con el repositorio, y el nuevo número de revisión se fija correctamente. Por lo tanto, solamente después de una actualización es verdaderamente seguro decir que usted tiene una revisión perfecta de un directorio. La mayoría del tiempo, su copia de trabajo contendrá revisiones imperfectas del directorio.

Similarmente, un problema surge si usted intenta enviar cambios de las características de un directorio. Normalmente, el envío chocaría con el número local de revisión del directorio de trabajo. Pero otra vez, eso sería una mentira, porque puede haber añadidos o eliminaciones que el directorio todavía no tiene, porque no ha habido ninguna actualización. Por lo tanto, usted no tiene permiso para enviar cambios-características sobre un directorio a menos que el directorio esté actualizado.

Para más discusión sobre las limitaciones del versionado de directorios, vea “Las limitaciones de las revisiones mixtas”.