2011-12-20 31 views
5

¿Hay alguna manera de actualizar una copia de trabajo para excluir elementos externos con TortoiseSVN?SVN: ¿Actualiza la copia de trabajo para excluir elementos externos con TortoiseSVN?

Tengo una copia de trabajo que compré con externos. Estoy haciendo algunas actualizaciones en mis rutas de inclusión y ahora tengo estos archivos externos en un proyecto diferente. Quiero actualizar mi copia de trabajo actual para excluir externos, es decir, eliminar los externos de mi copia local.

Debido a una montaña de cambios en mi copia de trabajo, simplemente eliminar y volver a verificar, omitiendo los externos, no es una opción eficiente.

Estoy usando Tortoise SVN 1.7.2, usando el formato 1.7.x.

EDITAR: De acuerdo, parece que lo que estoy buscando no es posible. Parece que 'Actualización SVN' siempre se actualizará con externos, incluso si el repositorio está desprotegido con 'Omitir Externos' (--ignore-externals).

EDIT 2: Muy bien, encontró una solución. No parece ser una forma de etiquetarlo en cada repositorio. Pero a nivel mundial: 'TortoiseSVN' => 'Configuración' => 'Avanzado' establece 'IncludeExternals' en falso. Eso evitará que 'SVN Update' actualice las opciones externas. Parece forzar la actualización externa, tendré que ir a 'Actualizar a revisión ...' Esto es factible, ya que esa es la situación menos probable. (tengo 5 check out, y sólo 1 requiere que los externos, y sólo cuando la hélice es de actualización. 2 los necesito sólo una vez en la salida)

Respuesta

6

svn up --ignore-externals debe hacer el trabajo, puede eliminar las carpetas externos manualmente a continuación

+0

... nm. Parece que esto no es posible. Acabo de hacer una prueba. Intento etiquetar mi repositorio para ignorar los externos, así que cuando lo actualice no se actualizará de manera externa. Resulta que: svn co --ignore-externals ignorará los externos para esa * instancia *. Tan pronto como hago una actualización ... actualiza las externas ... Pensé que ignoraría las externas para todas las actualizaciones posteriores, también. – guice

+2

No, tendrá que agregar eso cada vez. No hay tal opción para establecerse en la configuración o en otro lugar. En sistemas tipo Unix, sugiero crear un alias que incluya esa opción o sobrescribir el comando svn con un procedimiento bash que establezca la opción por defecto. En Windows, debería crear un script bash que pase los parámetros a un comando svn que incluya --ignore-externals. De esa forma, puedes actualizarlo haciendo doble clic en ese archivo bash. – zuloo

+0

Resulta que TortiseSVN tiene una opción dentro de las opciones avanzadas para establecer esta bandera todo el tiempo. Ver mi edición arriba. – guice

2

En TortoiseSVN, puede actualizar sin usar opciones externas seleccionando "Actualizar a revisión ..." y marcando la casilla "omitir externos".

+0

No, no funcionó.'Actualizar a la revisión' Tenía 'HEAD' seleccionado, seleccionó 'Omitir externos'. Actualiza con éxito, sin externos. Luego hice 'SVN Update' y se actualizó con externos ... – guice

0

Me doy cuenta de que esta es una respuesta extremadamente tardía y probablemente OBE, sin embargo, la solución a su problema si lo estoy entendiendo correctamente es simplemente actualizar su lista de elementos externos.

Básicamente, tenía un montón de elementos externos que se movieron a un proyecto diferente y desea actualizar su copia de trabajo a no ¿Incluir estos correctos?

Todo lo que tiene que hacer es hacer clic derecho en su directorio desprotegido (o en cualquier parte del espacio en blanco en el explorador de Windows si está dentro de la carpeta), vaya a Tortoise SVN> Propiedades. Edite la propiedad que incluye sus elementos externos y elimine/agregue los directorios que necesite. Luego haga una actualización en su directorio. Ya no incluirá los directorios que se incluyeron.

Cuestiones relacionadas