2009-12-15 10 views
11

¿Es posible cambiar el nombre de los directorios con Fossil? He intentado el comando obvia:Cambiar el nombre de directorios con Fossil DVCS

fossil mv oldname newname 

fósil luego me informa de que ha hecho algo:

RENAME oldname newname 

Sin embargo, llamar "cambios fósiles" resulta en una lista vacía. Por lo que puedo decir, el cambio de nombre de directorios no es compatible, no se ha implementado o simplemente se ha roto. Hay un truco para esto?

Respuesta

17

Después de algunas investigaciones, he descubierto que se puede hacer, pero es contrario a la intuición. A Fossil realmente no le importa lo que sucede con los directorios; lo único que le importa es la ubicación de los archivos dentro de ellos.

Al cambiar el nombre de un directorio, aparece fósil a:

  • bucle a través de la lista del repositorio de archivos para el directorio de edad;
  • busque el archivo en el nuevo directorio en el sistema de archivos;
  • actualizar los metadatos de los archivos para que se enumeren como parte del nuevo directorio.

Si el nuevo directorio no existe, esto falla. No hay archivos en la nueva ubicación, por lo que Fossil no puede hacer coincidir lo viejo con lo nuevo, por lo que no se realizan cambios.

En resumen: Usted debe cambiar el nombre de la carpeta a través del sistema de archivos antes de intentar realizar el cambio a Fósil. Si no lo haces, Fossil te ignora.

Ahora que lo pienso, esto tiene sentido, aunque prefiero que Fossil simplemente actualice el sistema de archivos en lugar de forzar un proceso de dos pasos en sus usuarios.

Como una adición, parece ser imposible agregar un directorio vacío a Fossil. Supongo que internamente almacena solo archivos; las carpetas se consideran metadatos. Una carpeta vacía es metadata que no describe nada, por lo que agregarlas no tiene sentido.

+1

Exactamente. Si es un directorio profundo, simplemente copio toda la estructura primero. Para los directorios vacíos, controlo en un .placeholder –

Cuestiones relacionadas