2011-03-17 18 views
8

Me parece que agregar la propiedad svn: ignore en archivos como .classpath sería una buena idea. Utilizo Windows (trabajo, ugh) y entornos de desarrollo Linux y cada vez que me sincronizo con el repositorio sobrescribe mi .classpath desde cualquier máquina en la que esté trabajando.SVN: ignora cómo hacerlo y en qué?

He intentado hacer clic derecho en el archivo .classpath en la perspectiva de Sincronización de equipo, pero la opción svn: ignorar está en gris.

Alguna idea de cómo podría: 1. sacar este elemento del control de fuente, 2. agregarlo a una lista de ignorar?

¿Algún otro archivo es una adición inteligente a esta lista?

Respuesta

8

En la línea de comandos:

svn rm --keep-local .classpath 
svn pe svn:ignore . 

El primer comando elimina .classpath desde SVN, manteniendo el archivo localmente. El segundo comando le permite editar svn:ignore. Agregue ".classpath" a la propiedad.

La regla general es que los archivos de compilación, específicos de la máquina o específicos del usuario no deben versionarse y luego agregarse al svn:ignore. No estoy familiarizado con Java o Eclipse específicamente, así que no pude mencionar ningún archivo por nombre.

+1

Tenga en cuenta que '--keep-local' guarda los archivos para usted, pero los elimina para cualquier persona que ejecute' svn update' luego –

+0

Tengo la intención de resolver esto durante el fin de semana. ¡Gracias por la respuesta! –

+0

@SanderRijken Yo uso algo como 'find -iname' * '' -type d -execdir svn rm -keep-local .settings. Classpath. Project target \; ' para eliminar-pero-mantener-local todos los archivos que ignoro. (Esto usa el comando linux find). – alfonx

3

Para obtener svn: ignore, recuerde que svn: ignore es una propiedad de una entrada del sistema de archivos. Eso significa que necesita usar svn propedit svn:ignore (para editar la propiedad).

¿Qué debe ignorar? Cualquier cosa que se construya a partir de otra cosa. Todos los "archivos de bloqueo" que los editores podrían implementar. Todos los archivos temporales. Algunos archivos de configuración que requieren diferencias entre los desarrolladores (sin embargo, debe verificar una plantilla con un nombre ligeramente modificado, como config.template). Básicamente, cualquier cosa que no desee registrar.

Parece que está utilizando un cliente sin línea de comando. Quizás el cliente esté configurado para no permitirle modificar este archivo (o sus propiedades). Tal vez es un problema diferente. Yo recomendaría instalar un cliente de línea de comando, ya que los errores serán más detallados (y no están sujetos a interpretación como su color "gris").

Las probabilidades son buenas, usted tendrá que svn: eliminar el archivo primero (haga una copia de él o perderá su única copia), y vuelva a enviar el "borrado" al repositorio. A continuación, escriba el directorio donde el archivo .classpath debía agregar ".classpath" a la lista svn: ignore.

+0

subclipse es de hecho un cliente para eclipse –

+0

Tengo la intención de resolver esto durante el fin de semana. ¡Gracias por la respuesta! –

+0

¡Buena suerte con su esfuerzo, no es tan difícil como parece! –

Cuestiones relacionadas