He realizado cambios en numerosos archivos en un repositorio SVN de Eclipse.
Luego voy al directorio del sitio web en el cuadro de Linux donde quiero actualizar estos cambios desde el repositorio al directorio allí.
Quiero decir "svn update project100" que actualizará los directorios en "project100" con todos mis archivos agregados y modificados, etc.
SIN EMBARGO, no quiero actualizar necesariamente los cambios que no hice. Así que pensé que podría decir "svn status project100" pero cuando hago esto obtengo una lista totalmente diferente de cambios que se realizarán, ninguno de los míos está en la lista, lo cual es extraño.
Por lo tanto, para estar seguro de que solo mis cambios se actualizan en el directorio web, me veo obligado a navegar a todos los directorios donde sé que hay un cambio que hice y actualizar explícitamente solo esos archivos, por ejemplo, "svn update newfile1.php", etc. lo cual es tedioso.
¿Alguien puede arrojar algo de luz sobre el procedimiento de trabajo estándar aquí, es decir, cómo obtengo una lista precisa de todos los cambios que están a punto de realizarse antes de ejecutar el comando "svn update"? Pensé que era el comando de "estado".
svn status -q -u
... Solo muestra los cambios de actualización y los cambios locales que se relacionan con los archivos que pertenecen al repositorio. No obtiene signos de interrogación (?) De archivos que no son del repositorio.Dependiendo de lo que desee saber entre su copia de trabajo y el último repositorio del servidor svn, sin actualizar su copia de trabajo local, esto es lo que puede hacer:
si desea saber qué se ha cambiado en el repositorio del servidor svn, ejecute el comando:
si desea saber si el mismo archivo ha sido modificado tanto en su copia de trabajo local como en el repositorio del servidor svn, ejecute el comando:
si desea obtener la lista de archivos cambiados entre una revisión en particular y HEAD, ejecute el comando:
si desea obtener una lista de archivos cambiados entre revisiones específicas, ejecute el comando:
si desea ver qué se actualizará (sin actualizar realmente), ejecute el comando:
si desea saber qué contenido de un archivo en particular se ha cambiado en el repositorio del servidor svn en comparación con su copia de trabajo, ejecute el comando:
si desea saber qué contenido de todos los archivos se han cambiado en el repositorio del servidor svn en comparación con su copia de trabajo, ejecute el comando:
fuente
Puede ver qué se actualizará (sin actualizar realmente) emitiendo:
Más detalles aquí .
fuente
svn merge --dry-run --revision BASE:HEAD .
how do I ... without doing an update?
a:first, do an update, then ...
:) :) :)Esto es lo que estaba buscando. Primero revisé Google, pero
svn help
terminé viniendo por mí :)fuente
Lo mismo pero más corto :):
fuente
Puede usar 'svn diff' para ver la diferencia entre su copia de trabajo y el repositorio.
fuente
svn update
En teoría, podría realizar todos los cambios en una rama que creó para su propio uso. Entonces estarías razonablemente seguro de que eres el único que se compromete a hacerlo.
En mi humilde opinión, el desarrollo de características debería hacerse así.
Entonces podría actualizar esta máquina de destino desde esta rama en lugar de desde el tronco.
fuente