2011-02-12 8 views
8

¿cómo puedo ignorar un archivo ya agregado a un repositorio svn?Cómo svn ignora un archivo ya agregado al repositorio?

me gustaría excluir el archivo config.php:

$ svn st 
M  . 
M  config.php 
M  adminfunctions.php 

Así, utilizo:

$ svn propedit svn:ignore . 

config.php y ha añadido a la lista.

Entonces, si hago otra svn st, consigo mismo de la primera vez:

$ svn st 
    M  . 
    M  config.php 
    M  adminfunctions.php 

Wouldn't el config.php ser excluidos en este momento?

¡Gracias de antemano!

Respuesta

16

svn: ignorar solo afecta a los archivos que aún no se han agregado.

Por lo tanto, en su caso, debe eliminar los archivos del repositorio con svn del - no olvide copiarlos temporalmente en otra ubicación). Después de copiar los archivos nuevamente en el directorio original, svn no los marcará como nuevos (e intenta agregarlos).

EDIT: Por otra parte, como han comentado en @Blake, puede utilizar --keep-local opción cuando se hace una svn del en lugar de copiar los archivos a otra ubicación.

+18

No tiene que copiar su archivo local en un directorio temporal. Solo use la opción --keep-local cuando haga un svn del – Blake

1

Aquí hay un problema que encontré y la solución con la esperanza de que sea útil para alguien.

Digamos que tiene archivos 'a, b, c' en el directorio 'D'.

Usted svn elimina los archivos 'a, b, c' de su copia de trabajo y agrega la propiedad/valor 'svn: ignore *' al directorio 'D' y confirma esos cambios como la revisión 1234. Después de eso si Vuelve a colocar los mismos archivos 'a, b, c' en este directorio 'D' en su copia de trabajo y luego svn considerará los archivos 'a, b, c' como no versionados.

Para solucionar este:

  • Mantener una copia de seguridad de sus archivos 'a, b, c' en algún lugar y borrar los del directorio 'D' de su copia de trabajo.
  • Actualice a la revisión justo antes del 1234 uno en su directorio 'D'. Eso retirará los archivos 'a, b, c' del repositorio a su copia de trabajo.
  • Luego, actualice a la revisión HEAD en su directorio 'D'.
  • Eso eliminará 'a, b, c' del directorio 'D' en su copia de trabajo.
  • Finalmente vuelva a colocar los archivos 'a, b, c' en el directorio 'D' de su copia de trabajo.

Ahora 'a, b, c' se consideran ignorados por svn.

Cuestiones relacionadas