tortoise - svn subir archivos
SVN: ¿cómo comparar copia de trabajo con revisión de repositorio? (6)
Esto es lo que hice, y resolvió mi problema: quiero ver qué hay de diferente entre mi copia de trabajo y la copia del repositorio.
svn diff > ~/svndiff.txt
Y luego saqué el archivo de texto plano en SublimeText 2 para poder leerlo más fácilmente. Adivino que esto es bastante básico, pero pensé que lo publicaría ya que me ayudó con un problema similar.
Quiero ver solo la lista de archivos que se han modificado, agregado, etc., no el contenido (salidas de svn diff
), solo la lista de archivos como el svn status
.
svn diff -r HEAD
me descarga toneladas de información, que es difícil de entender rápidamente.
svn status
muestra solo los cambios que comparan la copia de trabajo con su versión original local (no con la revisión del repositorio).
svn update
no admite --dry-run
En resumen, necesito algo así como el svn status
, pero lo que se compara la copia de trabajo actual con la revisión del repositorio (voy a comparar con una revisión HEAD).
Miré el manual de SVN, pero nada me ayudó, desafortunadamente: - /
Esto puede ser lo que estás buscando:
svn diff -r HEAD --summarizar
La forma en que redactó la pregunta original, la respuesta correcta es svn status -u como ya se dio. En base a los comentarios de seguimiento, también debe conocer svn diff --summarize ya que esto podría ser lo que está buscando. Esto es lo que usaría para comparar dos revisiones de repositorio o dos etiquetas u otra cosa en el repositorio. No puede usar esta opción para comparar su copia de trabajo con el repositorio (el estado lo hace).
Ver: http://blogs.collab.net/subversion/2007/03/computing_the_d/
Tratar
svn status --show-updates
La opción -u
(o --show-updates
) al svn status
hace que svn se contacte con el repositorio y muestre cosas que han cambiado en el repositorio, ¿es suficiente para usted? Dependiendo de lo que necesite, es posible que desee la bandera -q
o --verbose
también
op:
Quiero ver solo la lista de archivos que se han modificado, agregado, etc., no el contenido (salidas de svn diff), solo la lista de archivos como el estado de svn.
Al igual que el OP, quiero ver un informe de estilo "svn status" de la copia de trabajo actual para las ramas del proyecto que están anidados debajo de un repositorio svn más grande contra su último tronco y quiero usar la misma ruta y argumentos de revisión que usa svn diff .
Lo siguiente hace eso:
svn diff --old . --new ^/pathToProject/trunk --summarize
Por supuesto, reemplace "pathToTrunk" a la ruta real que usa su repositorio.
svn diff -r head
Esto producirá una lista de diff
para todos los archivos que difieren entre la copia de trabajo y el repositorio, dando una lista de archivos y los cambios reales. Lo cual, como dices, puede ser difícil de entender.
Entonces intente esto:
svn diff -r head --diff-cmd meld
Esto es lo mismo, pero muestra los cambios usando meld
(puede proporcionar cualquier otra herramienta visual diff en su arsenal), que es mucho más manejable.
Pero en serio, acostúmbrate a leer esas salidas de diff, ya que forman la base de muchas otras cosas (por ejemplo, parches) y son bastante difíciles de evitar en el mundo de Linux. Para reducir el resultado:
svn status -u
le dará una lista de archivos modificados, luego:
svn diff <file> -r head --diff-cmd <tool>
le dará una diferencia visual de solo el archivo particular que le interesa.