Agrego algunos cambios a mi repositorio local y ejecuto svn diff
, pero la salida diff
está vacía. Pero svn status
marcó mis archivos como modificados. Esto es archivos es elementos externos, ¿cómo puedo usar el comando diff
con esto?svn diff no muestra archivos externos modificados
Respuesta
Aquí es una cita de the manual:
Además de la caja SVN, svn update, SVN interruptor y svn export comandos que en realidad gestionar el disjuntos subdirectorios (o desconectado) en el que se comprueban las externalidades, el comando svn status también reconoce las definiciones externas. Muestra un código de estado de X para los subdirectorios externos disjuntos, y luego recurre a esos subdirectorios para mostrar el estado de los elementos externos. Puede pasar la opción --ignore-externals a cualquiera de estos subcomandos para deshabilitar el procesamiento de definición externa.
Se puede deducir de lo anterior que solo los comandos mencionados son compatibles con los externos.
No sé por qué es así, pero mi corazonada es que fue relativamente difícil de diseñar correctamente y no ocupaba un lugar destacado en la lista de características.
Tendrá que usar un programa externo para hacerlo. Escribí este guión que parece hacer bien el trabajo.
<?php
passthru('svn diff');
exec('svn propget svn:externals',$externals);
foreach($externals as $line) {
list($local, $path) = explode(' ',$line);
passthru('svn diff '.$local);
}
?>
Esto es lógico, ya que la razón es que el estado SVN muestra el estado con respecto a la última revisión del tronco. significa que su local no está actualizado a la última revisión en el tronco. Al tomar la información de SVN que se vería que el
Path: /home/....
Working Copy Root Path: /home/trunk
URL: https://svn.***.**/trunk
Repository Root: https://svn.***.**/
Repository UUID:
Revision: **LAST_UPDATED_REVISION_Nr**
Sin embargo, el diff SVN muestra la diferencia entre el archivo local y la situación archivo en su LAST_UPDATED_REVISION_Nr. Con el fin de ver la diferencia con respecto a la última revisión en el tronco:
svn diff -rHEAD address_of_your_file
Puede utilizar esta carcasa de una sola línea:
svn st -q | grep '^[AM]' | cut -c9- | xargs svn diff
Explicación:
svn st -q
toma la salida del estado de SVN sin líneas adicionales ("silencioso").grep '^[AM]'
filtros añadidos y modificados.cut -c9-
corta los metadatos y pasa los caminos aún más.xargs svn diff
ejecutasvn diff
para cada archivo.
- 1. Mercurial que muestra archivos modificados incorrectamente
- 2. Incluyendo nuevos archivos en SVN diff
- 3. Cómo obtener la lista de archivos modificados en SharpSVN (como svn diff --summarize --xml)
- 4. Subversion marca archivos no modificados como modificados
- 5. Lista de archivos modificados desde una fecha determinada utilizando SVN
- 6. Github cometió, diff no muestra cambios
- 7. SVN exporta solo los archivos modificados de las etiquetas
- 8. ¿Cómo obtengo una lista de archivos modificados en svn?
- 9. CVS Difiere para generar solo archivos modificados?
- 10. Ignorar archivos modificados (pero no confirmados) en git?
- 11. No se puede svn diff usando meld
- 12. git: muestra todos los archivos modificados entre dos commits
- 13. Subversion: svn estado Muestra toneladas de archivos no deseados .metadata
- 14. Cómo hacer svn interno: externos
- 15. Mercurial: enumere archivos "hg diff"
- 16. InnoSetup: no desinstale los archivos modificados
- 17. `svn merge` produce resultados diferentes que` diff` SVN
- 18. Obtener archivos modificados de la línea de comando svn entre dos fechas
- 19. Obtener archivos modificados de la línea de comandos SVN entre dos revisiones
- 20. svn diff cuando los archivos están marcados con "historial programado con commit"
- 21. SVN no ignora los archivos
- 22. Make SVN Commit también imprime el diff
- 23. ¿Cómo exportar todos los archivos modificados/agregados de Git?
- 24. svn diff: archivo marcado como tipo binario
- 25. importando archivos jar externos
- 26. ¿Cómo hacer que diff se vea como svn diff?
- 27. Perforce - ¿genera un diff incluyendo archivos agregados?
- 28. SVN externos cambios de subcarpetas que no se muestran en el registro de visualización (tortuga svn)
- 29. ¿Cómo enumerar todos los archivos modificados en un volumen oculto?
- 30. TortoiseSVN no muestra el menú contextual en los archivos