una tortoise subir repositorio importar excluir español eliminar desvincular como clonar carpeta archivos agregar svn version-control repository

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.