¿Cómo puedo reparar & # 8220; actualizado & # 8221; directorios de trabajo subversion?

StackOverflow https://stackoverflow.com/questions/135543

  •  02-07-2019
  •  | 
  •  

Pregunta

Puede sonar estúpido, pero a veces me encuentro con conflictos de versión entre dos versiones de Subversion. Monté un directorio en un servidor de desarrollo con sshfs y luego edité el código con mi Vim local. Para cosas de subversión como actualizar, cometer, etc., ssh en el servidor y hacerlo allí. Sin embargo, a veces mezclo mis shells y accidentalmente hago una actualización o confirmo en mi shell local en el directorio montado. Subversion sale con un error, lo cual está bien. Sin embargo, cuando trato de hacer lo mismo en el servidor de desarrollo en mi sesión ssh, subversion dice que el directorio / subversión de trabajo tiene una versión incorrecta. La versión de subversion en el servidor es más antigua que la versión en mi notebook, así que supongo que mi versión (más nueva) de alguna manera actualiza los directorios de trabajo para que sean incompatibles con la versión anterior en el servidor de desarrollo. A veces, eliminar los archivos .svn / lock ayuda, pero solo si lo hago justo después de ejecutar el comando subversion en mi cuaderno. Cuando ejecuto el comando en el servidor de desarrollo después, los archivos de bloqueo desaparecen y no veo una manera de rescatar el proceso de pago. Esto no sería tan malo si el repositorio no fuera tan grande. Especialmente cuando hice muchos cambios y no puedo cometerlos.

La única solución que veo en este momento es copiar los archivos que cambié en algún lugar, eliminar el proceso de pago, hacer un nuevo pago completo y volver a copiar los archivos.

¿Existe una mejor solución para rescatar un proceso de pago y / o mis cambios?

ACTUALIZACIÓN Las Preguntas Frecuentes de Mikael Sundberg contenían la respuesta. Lo escribo aquí, porque él no lo menciona explícitamente. Hay un script que puede degradar los repositorios actualizados, cuando sea seguro:

http : //svn.apache.org/repos/asf/subversion/trunk/tools/client-side/change-svn-wc-format.py

¿Fue útil?

Solución

Tal vez esta entrada de preguntas frecuentes podría ser útil: http://subversion.tigris.org/faq.html#working- copiar-cambiar-cambiar

Otros consejos

No estoy seguro si entiendo su problema correctamente, pero aquí hay algunos consejos:

El primer consejo: ¿probaste el comando SVN Limpiar ?

Probablemente el siguiente sea inútil para ti :), pero muchas personas solían usar CVS, no se dan cuenta de que SVN tiene características como esa, así que las escribo.

Si usa Windows y cliente SVN de Tortoise puede seleccionar Mostrar registro Comando desde el menú contextual (botón derecho del ratón). Cuando aparezca la lista de registros, elija el último correcto y elija del comando del menú contextual revertir a esta revisión .

En otro caso (no Windows ni Tortoise SVN), investigue documentación para la versión de línea de comandos de los comandos descritos anteriormente.

El siguiente consejo podría ayudarte a evitar mezclar tus conchas.

Ha escrito que usa el shell SSH: para evitar problemas al mezclar sesiones de shell, siempre uso un color de fondo diferente para cada servidor (y cuenta), en el que inicie sesión (es decir, blanco sobre negro para desarrollo, amarillo en navy en el servidor de prueba y amarillo en verde en el servidor de producción).

Esto me ahorra muchas veces :).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top