¿Por qué Perl no puede encontrar mi archivo que está en ClearCase?
Esta parte de Perl me dice que un archivo en ClearCase no existe cuando sí existe;
$x = "PATH/TO/FILE"
if (-e $x) {
print "This file exists on the file system";
} else {
print "I can't see this file";
}
¿Alguien ha visto esto antes?
Algunos archivos regresan bien. Me dejó perplejo.
La vista de Clearcase es dinámica y está alojada en Unix.
Este fragmento de código indica que existe un archivo y otro no cuando están en la misma carpeta en la misma vista.
Clearcase almacena sus 'archivos' como directorios
Lo que Aric intenta decirle es que ClearCase usa nombres de ruta extendidos , "extendidos" porque extiende el nombre del archivo con la ruta de la versión .
Entonces, en una vista dinámica, se puede describir cualquier archivo para revelar su ruta de control de versiones:
$ ct ls
myFile
$ ct descr -l myFile
myFile@@/main/3
En una vista dinámica, puede explorar las versiones de un archivo (de ahí la parte "archivo como directorio")
$ cd myFile@@
$ ls
main
$ cd main
$ ls
3
$ cat 3
... // content of third version of myFile
Ahora, si se usara ClearQuest (el sistema de seguimiento de problemas) aquí, haría referencia a las actividades (cambiar el conjunto de archivos) de ClearCase.
Pero con ClearCase, es muy posible que una versión de un archivo (al que hace referencia ClearQuest u obtenido por otro medio) se haya eliminado en la vista dinámica ("rmnamed" en realidad).
Lo que significa que ClearQuest o alguna actividad de ClearCase pueden hacer referencia a un archivo, pero no ser visible directamente con ClearCase en la vista dinámica.
Sin embargo, su nombre de ruta extendido aún sería accesible en esa misma vista dinámica.
Clearcase almacena sus 'archivos' como directorios. Puede ingresar un cd en un archivo e ingresar al directorio real que está utilizando para almacenar todas las revisiones de un archivo; Si bien los enlaces del sistema operativo suelen funcionar, quizás esto esté provocando que Perl no reconozca algunos de los archivos.