Esta es una solución paso a paso para recuperar las cajas huérfanas en Visual SourceSafe.
Este es el escenario: Una de las personas que trabajaba para ti (la llamaremos Rieko) pasó a cosas mejores hace algún tiempo. Poco después de que ella se fuera, usted le cambió el propósito de su computadora a otra persona, y a estas alturas la transición a su reemplazo es un recuerdo lejano.
Pero hoy, has descubierto que tienes algunos archivos en Visual SourceSafe (VSS) que están en Rieko. Alguien más necesita trabajar en esos archivos, pero no puede sacarlos porque los archivos ya están sacados, y no hay forma de que puedas volver a sacarlos porque las salidas de Rieko ya no existen, están en el disco duro que fue formateado.
Estaría bien si pudieras iniciar sesión en el editor VSS como administrador y deshacer por la fuerza las comprobaciones. Pero no puedes. ¿Cómo puedes recuperar esos archivos? Te lo mostraré.
El proceso es realmente muy sencillo. Primero borra los archivos de su proyecto en VSS. Luego, los restaura.
Sin embargo, antes de empezar, tenga en cuenta que esta técnica sólo funcionará para los usuarios que tengan derechos de Destroy en los proyectos VSS que tengan los archivos huérfanos. Si intentas hacer esto sin los derechos de Destruir, no podrás recuperar archivos. VSS 2005 se instala con estos derechos habilitados para todos los usuarios de forma predeterminada, por lo que si no ha modificado los valores predeterminados, esto no será un problema. Pero si usted (u otra persona) ha cambiado los valores predeterminados, habilitado los derechos y las asignaciones y eliminado los derechos de Destrucción de su cuenta de usuario, esto no funcionará. Si no puede recuperar archivos, inicie la consola administrativa de VSS, seleccione la cuenta de usuario que desea modificar, ejecute Herramientas, Asignaciones de derechos para el usuario y asegúrese de que la opción Destruir esté marcada. Entonces, proceda.
Ahora vamos a desempacar el proceso de recuperación.
Cuando se inicia sesión en el editor VSS con una salida huérfana a la vista, se puede ver en la , que ha sido comprobada por otra persona mirando la columna Usuario:
Si el archivo se ha comprobado en un equipo distinto al que está ejecutando el editor VSS (tanto si se ha comprobado a otro usuario como si no), la columna Carpeta de comprobación precederá a la ruta con el nombre del equipo, como en[RIEKOSLAPTOP]C:\Client Services\Users Guides. Esa es otra pista de que tienes una salida huérfana.
Para recuperar este archivo, siga estos pasos.
1. Haga clic con el botón derecho del ratón sobre el nombre del archivo y seleccione Eliminar, como se muestra en la . (Si necesita recuperar más de un archivo, selecciónelos todos y proceda de la misma manera.
VSS muestra la caja de diálogo Borrar, con los archivos que usted había seleccionado listados en la caja de Ítem, como muestra la :
2. Asegúrese de que la casilla de verificación Destruir permanentemente no esté marcada antes de hacer clic en Aceptar. Destroy hace permanentemente exactamente lo que parece; si marcas esa casilla y luego haces clic en Aceptar, no obtendrás el archivo de Rieko de vuelta.
VSS mostrará la consulta de seguridad mostrada en la :
3. Haga clic en Sí, y VSS mostrará la ventana de confirmación «Are you really sure» (¿Está realmente seguro?) que se muestra en la :
VSS sabe lo que intentas hacer y te advierte en consecuencia. Está intentando eliminar un archivo que ha sido comprobado por otra persona, lo cual es una situación inusual. Pero esto es lo que pretendemos, así que haga clic en Sí (o Sí todo para varios archivos. VSS elimina los archivos eliminados del proyecto como se puede ver en la :
4. Haga clic con el botón derecho del ratón sobre el proyecto que solía contener los archivos eliminados y seleccione Propiedades (como en la ):
5. VSS mostrará el cuadro de diálogo <Nombre del proyecto>. Haga clic en la ficha Elementos eliminados, como se muestra en la , para mostrar todos los elementos de ese proyecto que ha eliminado pero que no han sido «destruidos permanentemente»:
6. Seleccione los archivos que desea recuperar y haga clic en Recuperar. (Purgar es el equivalente a Destruir permanentemente, así que no hagas clic en Purgar a menos que hayas decidido enviar el archivo de Rieko a la tierra de los perdidos.)
VSS mostrará el proyecto una vez más, esta vez con los archivos recuperados listados como no comprobados, como en la :
Ahora tienes el archivo huérfano de Rieko de vuelta. Y si comprueba el historial del archivo, verá que todo sigue ahí. Al eliminar el archivo de VSS no se borra su historial, por lo que seguirá teniendo todas las versiones que se hayan registrado.
Para ser claros, el uso de esta técnica no recupera la versión comprobada del archivo. Si Rieko hizo cambios en el archivo después de haberlo revisado, no hay forma de recuperar esa versión excepto poniendo tus manos en ella. VSS sólo tiene las versiones que se han verificado. Pero al menos esta técnica le permite recuperar el archivo tal y como se marcó por última vez, algo que no podría hacer si no utilizara el control de origen en absoluto.
¿Y si Rieko hubiera revisado más de un archivo? Usará la misma técnica una vez en cada proyecto que contenga archivos huérfanos. Puede obtener una lista de todos los archivos que un usuario en particular ha comprobado, incluso si su base de datos VSS tiene docenas de proyectos o cientos de subproyectos. Seleccione la raíz de su base de datos VSS y utilice el comando View, Search, Status Search, como se muestra en la :
En el cuadro de diálogo Buscar estado que se muestra en la , seleccione el nombre de usuario que desea buscar y elija la opción Buscar en el proyecto actual y en todos los subproyectos:
Obtendrá una lista de todos los archivos comprobados para el usuario que especificó. Entonces podrás recuperar a todos los huérfanos.
Conclusión
Si tiene alguna salida huérfana en su base de datos VSS, ya sea debido a un compañero de trabajo fallecido o a un disco duro estropeado, hay una forma de recuperarla: Eliminar y recuperar. Perderá todos los cambios realizados en los archivos registrados, pero recuperará los archivos tal y como se registraron por última vez, y también obtendrá todo el historial de esos archivos. He tenido que usar esta técnica varias veces y me ha resultado muy útil. Espero que a usted también le resulte útil.