tortoise subir respaldo repositorio proyecto guia entrar conectarse clonar carpeta agregar svn

svn - subir - ¿Cómo comparo una rama contra el tronco en subversión?



svn guia (6)

En Subversion, creé una rama desde un tronco usando svn copy . Según el manual SVN 1.5 , "Esta es la forma más fácil de" etiquetar "una revisión en su repositorio, simplemente svn copie esa revisión (generalmente HEAD) en su directorio de etiquetas".

svn copy file:////svn/projectX/trunk file:///svn/projectX/branches/stefanl

Luego, realizo mis modificaciones a la rama stefanl . Quiero enviar mis cambios al tronco, pero antes de hacerlo me gustaría ver una diferencia de los cambios.

¿Cómo puedo diferir la rama ''stefanl'' contra la rama ''trunk''? Intenté svn diff , pero no proporcionó mucha información:

% svn diff file:////svn/projectX/trunk file:///svn/projectX/branches/stefanl Property changes on: . ___________________________________________________________________ Modified: svn:mergeinfo Reverse-merged /trunk:r1699-1870


Agregando a las respuestas anteriores (si usa Tortoise SVN en Windows):

  • Haga clic derecho en cualquier carpeta. Desde el menú contextual, selecciona TortoiseSVN -> Repo-navegador .
  • Ingrese su dirección de repos en el cuadro URL .
  • Navega a la primera carpeta que quieras comparar. Haga clic derecho y seleccione Marcar para comparación .
  • Navega a la segunda carpeta. Haga clic con el botón derecho y seleccione Comparar URL

Basado en las otras respuestas y un poco de investigación, escribí un guión que lo hace automáticamente.

#!/bin/bash url=$(svn info | grep ^URL: | sed -e ''s,^URL: ,,'' ) root=$(svn info | grep ''^Repository Root:'' | sed -e ''s,.*Root: ,,'' ) trunk=$root/trunk if [[ -n "$1" && ! -e "$1" ]] then echo "What? svn diff /"$1/"? really?" exit fi svn diff $url/$1 $trunk/$1 > trunk.diff

Lo ejecuta justo debajo de la rama. Puede pasar una ruta (dir o archivo) y funcionará como se esperaba. Si no, entonces solo diferirá la rama y el tronco.


Gracias por la información chicos, agregaría algo para mejorar la legibilidad de los resultados diff. Si usaste: svn diff svn: // url: 9090 / branches / PRD_0002 svn: // url: 9090 / branches / TST_0003> svn_diff_filename. TXT

También puede usar: findstr "Index:" C: / path / svn_diff_filename.txt> svn_diff_file_list.txt

Eso le traerá una lista legible de archivos que tienen alguna diferencia.

Saludos, Kra.


Puede diferenciar Unix para comparar directorios.

Para encontrar los archivos faltantes:

diff -r svn/projectX/trunk svn/projectX/branches/stefanl | grep -i only

Para encontrar las diferencias entre archivos:

diff -ru svn/projectX/trunk svn/projectX/branches/stefanl

Tenía la misma pregunta y encontré la sugerencia en un hilo de correo: http://svn.haxx.se/users/archive-2003-08/0538.shtml


Si está utilizando el complemento subversivo con eclipse (other ide?) Cambie a la perspectiva de búsqueda del repositorio. En el panel de repositorios SVN, haga clic con el botón derecho en cualquier elemento y seleccione la opción "Comparar ...". Debería ser intuitivo desde allí.


Utilizar:

svn diff ^/trunkUrl/fileName ^/branchUrl/fileName

Esto le dará la diferencia entre un archivo en la rama y el tronco.