2011-05-01 12 views
12

tengo la intención de ejecutar (en mi servidor!)Forzar actualización SVN/caja para sobreescribir archivos locales

svn update

actualizar mi sitio en línea con las actualizaciones. Sin embargo, me preocupan los conflictos 'C' que evitarán que funcionen mis scripts de sitio. ¿Cómo puedo forzar el proceso de finalización/actualización para sobrescribir todos los archivos locales (en mi servidor!)?

Sé que una solución sería hacer esto en un directorio separado, ¿hay algo más eficiente?

He mirado en Force an SVN checkout command to overwrite current files

no tengo opción --force

+0

Por favor, aclare: ¿Por qué le preocuparía los conflictos? ¿Tiene cambios locales en su servidor que no están comprometidos con SVN? Si es así, ¿qué quieres que suceda con esos cambios? Si no, un comando "svn update" no debería causar ningún conflicto. – ChrisH

Respuesta

4

Would clic en el directorio y Volviendo a la base y luego la actualización tiene el mismo efecto?

+0

lo siento, esto es en el servidor en sí – siliconpi

+0

¡ese método es lo que necesitaba! ¡Gracias! – siliconpi

3

Debe solicitar a Subversion que actualice su copia de trabajo. Si las fusiones son necesarias, Subversion te lo dirá. Si no, tendrás lo último de todo lo demás.

Creo que una mejor solución es fusionar su código en Subversion, eliminar completamente su copia de trabajo y luego eliminar el proyecto.

Su repositorio debe contener todos los códigos significativos, no su copia de trabajo.

+0

lo siento, esto está en el servidor – siliconpi

10

Si no tiene la opción --force, creo que no tiene --accept. La actualización svn tiene una nueva opción llamada --accept para "especificar acción de resolución automática de conflictos". Podría ser: postopone, mine-conflict, theirs-conflict, edit, launch, theirs-full, mine-full or base.

¡Un svn help update ayudará!

-1

Sé que esto es una pregunta muy antigua, pero yo estaba tratando de encontrar la manera de hacer esto mismo y se le ocurrió esto:

svn status --no-ignore | grep '^\?' | sed 's/^\? //' | xargs -Ixx rm -rf xx 

Básicamente, se enumeran todos los archivos sin versión en su repositorio, luego tuberías esa lista a una rm forzada para purgar. Esto eliminó TODOS los archivos no versionados sin solicitud, así que asegúrese de saber lo que está haciendo.

Cuestiones relacionadas