Mi IDE no sabe que utilizo Subversion, y cada vez que cambio el nombre de una clase (Java) cambia el nombre del archivo sin notificar al sistema de control de versiones. Por supuesto, me gustaría que se conserve el historial del archivo. Entiendo que en TortoiseSVN hay una opción llamada "movimiento de reparación" que arregla el movimiento, pero esa no es una opción ya que estoy en Ubuntu. ¿Hay alguna forma de reparar el cambio desde la línea de comandos?SVN "movimiento de reparación" desde la línea de comandos
Respuesta
Si recuerda el antiguo nombre/ubicación del archivo:
mv new-filename old-filename
svn mv old-filename new-filename
Usted, por supuesto, necesita instalar el cliente de Subversion de línea de comandos, lo que es probable que tenga. Si no, sudo aptitude install subversion subversion-client
debería hacer el truco.
Según su comentario, no, no sé si hay una manera más fácil que esto. Si no está seguro de cuál era su nombre de archivo anterior, svn stat
puede darle una pista.
+1, esto también podría estar en el script –
Estaba investigando esta pregunta para un colega y encontré [esto] (http://www.syntevo.com/smartsvn/documentation.html?page=commands.detect-moves) que es bastante genial si tienes una carga completa de archivos movidos. – Benjol
¿Hay alguna manera de reparar el cambio desde la línea de comandos?
No, esto es SVN issue 1802. Ha estado abierto desde 2003, así que no contenga la respiración.
Agregue esto a su .bashrc
svn-repair() { mv -n -- "$2" "$1" && svn mv -- "$1" "$2"; }
entonces se puede escribir
svn-repair old-filename new-filename
¿no debería el uso ser 'svn-repair old-filename new-filename'? – chiccodoro
¡Sí! lo arregló ahora :) – ndyer
- 1. reparación SVN suma de comprobación
- 2. Referencia rápida desde la línea de comandos
- 3. Ejecutar Java desde la línea de comandos
- 4. Cómo arrancar desde la línea de comandos
- 5. svn historial a través de la línea de comandos
- 6. Error al ejecutar comandos svn en la línea de cmd
- 7. Cómo pasar argumentos desde la línea de comandos a gradle
- 8. ¿Cómo eliminar un archivo con @ en su nombre desde svn en la línea de comandos?
- 9. Obtenga la versión de TCL desde la línea de comandos?
- 10. Salida a línea de comandos si se inició desde la línea de comandos
- 11. no puede invocar git-svn de línea de comandos
- 12. Generar ipa desde xcode línea de comandos
- 13. solicitud de construcción de Xcode desde la línea de comandos
- 14. Ejecute la transformación web.config desde la línea de comandos
- 15. Editar modelo de rieles desde la línea de comandos
- 16. Ejecutando Jmeter de forma remota desde la línea de comandos
- 17. buscar y reemplazar desde la línea de comandos de UNIX
- 18. Ejecutar proyecto de Eclipse desde la línea de comandos
- 19. Cambiar el fondo de Terminal.app desde la línea de comandos
- 20. Ejecutar una biblioteca de Ruby desde la línea de comandos
- 21. Depuración aplicación de iPhone desde la línea de comandos
- 22. Lanzamiento de aplicaciones Blackberry desde la línea de comandos
- 23. Mercurial: "guess rename" de TortoiseHg desde la línea de comandos?
- 24. Compilar proyecto de Flex Builder desde la línea de comandos
- 25. ¿Versión de ensamblaje desde la línea de comandos?
- 26. Generación de informes JUnit desde la línea de comandos
- 27. compilación de actionscript desde la línea de comandos usando MXMLC
- 28. webapp de reinicio tomcat desde la línea de comandos
- 29. Ejecutar el modo de depuración desde la línea de comandos
- 30. Exprés de IIS desde la línea de comandos
Miré en el código fuente de TortoiseSVN, se mueve el archivo de nuevo manualmente y luego "svn move" es de nuevo a su destino Por supuesto, puedo hacer eso con la línea de comandos, solo estoy preguntando si hay una manera más fácil. –
Es posible que desee mencionar cuál es su IDE: hay muchas herramientas IDE específicas. – shaunmartin
@shaunmartin, ¿realmente importa qué IDE está usando aquí? –