2009-02-12 13 views
5

Permítanme comenzar explicando nuestra configuración:TortoiseSVN: ¿Qué causa la marca de verificación gris?

Estoy trabajando con algunos contratistas. Están usando Visual Source Safe para el control de código fuente y nuestra empresa está utilizando Subversion. Cada pocos días se preforma un registro a nuestro repositorio realizando los siguientes pasos:

  1. Pedido de nuestro repositorio (que son los únicos que trabajan en él, así que no hace nada)
  2. de copias y forma los todos los archivos de aplicación de directorio
  3. Commit volver

es un proceso horrible y tenemos la intención de abordar en la siguiente iteración, pero funciona. Excepto que a veces no es así. A veces, después de realizar la confirmación, algunos de los archivos tienen una superposición de marca de verificación gris.

No estoy seguro de lo que esto significa. Buscar en Google implica que podría tener algo que ver con el bloqueo, ¡pero nadie bloquea explícitamente nada! Parece que los archivos se han comprometido, pero faltan cuando hago un check out. Estoy seguro de que me estoy perdiendo algo.

¿Alguien puede explicar qué es gong y cómo solucionarlo?

Respuesta

10

de here:

Si ha establecido la propiedad svn: needs-lock en un archivo, Subversion establece ese archivo de sólo lectura hasta que obtenga un bloqueo en ese archivo. Los archivos de solo lectura tienen esta superposición para indicar que primero debe obtener un candado antes de poder editar ese archivo.

No utilizamos las funciones de bloqueo de necesidades aquí, así que realmente no puedo explicar más. Sin embargo, es un comienzo.

Editar: Dado que están usando VSS, los archivos tendrán el atributo de solo lectura establecido cuando no estén desprotegidos. TortoiseSVN puede interpretar que tiene el conjunto de bloqueo de necesidades.

+0

Moose, rock, has estado luchando con este durante semanas –

+0

Es curioso, el otro día me estaba preguntando sobre esto. Supongo que el administrador de SVN realizó algunos cambios para ayudar a "alentar" a nuestros desarrolladores de VSS a cambiar a SVN. – Powerlord

4

Estos son archivos que tienen el conjunto de propiedades svn: needs-lock. Para editar estos archivos primero debes bloquearlos.

Aquí está la explicación del archivo de ayuda de TortoiseSVN:

Si ha establecido la propiedad svn: needs-lock propiedad en un fichero, Subversion hace ese archivo de sólo lectura hasta que obtenga un bloqueo en ese archivo. Dichos archivos tienen esta superposición para indicar que tiene para obtener un bloqueo antes de poder editar ese archivo.

Esto se utiliza generalmente con archivos binarios (imágenes, documentos de Word, etc.) que no se pueden combinar fácilmente cuando son editados por varias personas. El bloqueo impide que el archivo pueda ser editado por más de una persona a la vez.

Si desea eliminar la propiedad svn: needs-lock, haga clic con el botón derecho en el archivo, seleccione TortoiseSVN -> Propiedades y elimine la propiedad.

actualización: lo que puede hacer que un archivo tiene la propiedad svn: needs-lock propiedad:

  • ya sea que se ha establecido explícitamente por alguien
  • o si tiene algunas reglas en el archivo de la subversión de configuración (TortoiseSVN -> Configuraciones -> Editar archivo de configuración de subversión). Verifique la sección [auto-props] de ese archivo. Por ejemplo, establecemos automáticamente la propiedad de bloqueo de necesidades en todos los archivos de MS-Office, agregando las extensiones de archivo correspondientes a la sección [auto-props] del archivo de configuración de subversión.
+0

Lo que causaría que eso ocurriera, nadie está bloqueando explícitamente nada. El proceso es exactamente como lo describí. –

+0

Hombre, parece que hoy no puedo escribir lo suficientemente rápido. – Moose

+0

¿podría ser que svn vea el archivo como de solo lectura y lo use como la configuración de utilería? – Tim

0

¿Son esos archivos binarios? Si es así, significa que los archivos están bloqueados de forma exclusiva en el servidor, de modo que nadie pueda verificarlos simultáneamente.

+0

No, cs regulares, aspx y otros archivos –

1

Si usted va a continuar con este plan terrible, puede ocurrir la sugerencia que investigar el guión svn_load_dirs? Se usa para aplicar cambios desde una jerarquía de directorios no versionada a un repositorio SVN. En este caso, sus archivos no versionados en realidad serían de VSS, pero eso no cuenta como versionado para este propósito. Básicamente, notó lo que se agregó y lo que se eliminó, le da la oportunidad de decirle que algunos de esos add/remove son en realidad renombrados/movimientos, y luego aplica los cambios a su repositorio. Es mucho mejor que simplemente pegar archivos en una copia de trabajo, ya que este último enfoque no manejará adecuadamente los archivos o directorios agregados o eliminados.

Para responder a su pregunta original, la marca de verificación gris significa que el archivo es de solo lectura. Normalmente, esto solo se encuentra cuando el archivo debe estar bloqueado para poder escribir en él, pero estoy bastante seguro de que marcará cualquier archivo de solo lectura con la marca de verificación gris, no solo aquellos que tienen svn: needs-lock establecido en él . En cuanto a por qué los archivos no se muestran cuando se retira, eso es casi seguro porque nunca se registraron ... si están en el servidor, aparecerán en su copia de trabajo cuando actualice/finalice (o le dará un mensaje de error claro sobre algo que los obstruye).

0

Para mostrarle las superposiciones de icono de archivo y carpeta TortoiseSVN debe buscar el estado cada vez que abra una carpeta de este tipo en el explorador. Esto generalmente toma una fracción de segundo, pero puede tomar mucho más tiempo si tiene un disco duro lento o un directorio muy grande. Aquí hay algunas cosas a tener en cuenta: Las unidades de red pueden responder muy lentamente, por lo que es posible que deba desactivar las superposiciones de iconos para dichas unidades. Sin embargo, el esquema de almacenamiento en caché por lo general lo hace viable. Cada vez que se modificó la última hora de modificación de un archivo, TortoiseSVN necesita hacer un diff completo (!) De ese archivo para averiguar si ha cambiado. Si a menudo cambias un archivo, deshaces los cambios y vuelves a guardar el archivo, encontrarás una ralentización en la navegación. Puede corregir esa condición haciendo una limpieza de sus carpetas de copia de trabajo. Existen varios escáneres antivirus que interfieren con TortoiseSVN.La mayoría de las veces bloquean los archivos dentro del directorio .svn Status, lo que puede hacer que TortoiseSVN se cuelgue o se vuelva muy lento. A veces incluso puede obtener un error de acceso denegado. Intenta configurar tu escáner de virus para que ignore los directorios .svn. Si está trabajando en Windows XP, también puede desactivar las carpetas zip. Esto también aumentará la velocidad de navegación. 1.Seleccione Ejecutar desde el menú de inicio 2. Escriba regsvr32/u% windir% \ system32 \ zipfldr.dll en el indicador y haga clic en Aceptar 3.El cambio tendrá efecto inmediatamente, pero es posible que deba reiniciar Windows para todos huellas del soporte ZIP incorporado para desaparecer. Si, en cualquier momento, desea volver a habilitar el soporte ZIP integrado de Windows XP, simplemente siga estos pasos: 4. Seleccione Ejecutar desde el menú de inicio 5. Escriba regsvr32% windir% \ system32 \ zipfldr.dll en Haga clic en Aceptar y haga clic en Aceptar 6. El cambio tendrá efecto inmediatamente, pero es posible que deba reiniciar Windows para que todos los rastros del soporte ZIP integrado estén disponibles. Revise su sistema en busca de spyware, software de aplicación de políticas o motores de búsqueda locales (como el escritorio de Google). Todos pueden interferir con el uso normal de forma bastante efectiva.

Cuestiones relacionadas