¿Cuál es su función no obvia favorita de svn?Característica no obvia favorita de svn?
Respuesta
svn log --xml
Tener los registros generados en xml hace que sean muy fáciles de analizar y analizar.
svn log -r BASE: CABEZA (posiblemente con una opción v)
muestra lo que ha pasado entre su versión y la versión de la cabeza. Usualmente te dice quién rompió la construcción también.
En versiones más nuevas: resolución de conflictos interactiva. De esta forma, los conflictos no necesitan ser resueltos manualmente (en la mayoría de los casos, es muy trivial hacer esto, es molesto si tiene que hacerse para un gran lote de archivos). Pero en realidad, el manejo de conflictos en general (es decir, que le impide cometer archivos conflictivos).
Conseguir la historia de una rama desde el punto de ramificación:
svn log --stop-on-copy
Realización de una operación de deshacer mediante la fusión de la antigua revisión w/HEAD.
La apilación y bibliotecas de subversión. Puede usar un repositorio SVN central incluso si prefiere trabajar con un VCS distribuido, ya sea usando el SVK "svn native" o, por ejemplo, Mercurial (a través del a bridge). Las buenas apis también significan que son posibles mejores herramientas: pueden trabajar directamente con SVN, en lugar de utilizar el cliente de línea de comandos e intentar analizar los resultados.
Las secuencias de comandos de anzuelo (inicio-confirmación, precompromiso, post-confirmación) son excelentes herramientas para un sistema de compilación que depende de SVN.
Otro que es probablemente demasiado "obvio", está llamando 'svn export' desde un script de compilación. Es una manera muy agradable de implementar archivos en algún directorio de destino (un sitio web, por ejemplo), porque obtienes una copia limpia sin archivos ocultos .svn. Es mucho mejor que actualizar una copia de trabajo de "implementación" remota.
La api de Subversion y los enlaces de cliente que se construyen sobre eso.
La mayoría de los sistemas SCM son una combinación de herramientas que permiten llamarlos a través de una línea de comandos, pero la subversión está diseñada como una API estable para ser utilizada por múltiples clientes. Simplemente proporciona un cliente de línea de comandos además de eso.
TortoiseSVN, AnkhSVN, SharpSvn, y dozens of other applications and libraries [1] no estaría allí sin subversión ser una API.
(me alegro de algunos de los otros/SCM nuevas implementaciones están empezando a darse cuenta de que un cliente de línea de comandos no es suficiente para ser exitoso)
[1] La página de enlaces está offline, pero todavía se puede ver la versión antigua en http://svn.apache.org/repos/asf/subversion/branches/1.6.x/www/links.html
Sí, este es un gran problema con Git. AFAIK, las encuadernaciones de Ruby's Git simplemente envuelven la línea de comando.Fue un verdadero obstáculo cuando intentaba escribir un back-end de Git para RabbitVCS. – detly
Y una segunda respuesta:
svn status --depth files <path>
Este apoyo profundidad que se introdujeron en 1,5 Subversion hace mucho más rápido que antes de otras herramientas.
externals.
La maravillosa capacidad de incorporar bibliotecas de terceros a su código base y mantenerlas actualizadas.
Me encantan los exteriores. Todavía un poco doloroso en Mercurial. :-( –
svn diff
, incluso cuando no está conectado y podría pensar que la diferencia no es posible.
Las maravillas de la copia prístina :) Tenga en cuenta que sin acceso a la red solo puede diferir de su copia de trabajo BASE revisión. –
ir hacia atrás un conjunto de cambios desde su copia de trabajo (por ejemplo, 4321.):
svn merge -c -4321 .
svn checkin
o múltiples conjuntos de cambios:
svn merge -c -4321,-5432 .
El signo menos adelantado antes del número de revisión es importante. "-4321" funciona, "4321" no. – kamens
"svn: ignore" propiedad
Mi no obvio favorito La característica de svn es cómo cubre todos mis directorios de origen con subdirectorios de metadatos .svn. ;)
svn blame
por supuesto. Tengo que saber de quién es la culpa.
Diría que anotar (también conocido como culpa, elogio) * es * bastante obvio. – Jonik
Este es el argumento convincente # 1 para volcar VSS. –
Continúo encontrándome con desarrolladores que no lo conocen ... – theschmitzer
se encontró mientras buscaba algo. . aquí está uno de mis favoritos, el no ovioso. Puede copiar y pegar la "copia de trabajo svn" en cualquier otra máquina o cualquier otro sistema operativo, funciona como si hubiera sido verificado. ¡Esto funciona incluso si fue revisado por un usuario diferente!
La opción de configurar un repositorio esclavo para duplicar el principal. Entonces un grupo remoto puede hacer todas sus lecturas desde una copia local. Realmente acelera el desarrollo.
Agregado en svn 1.6: la notación abreviada caret ^
para acortar las URL de subversión cuando se usa la línea de comando. El símbolo de intercalación se puede usar en lugar de la parte de la URL hacia arriba a través del nombre del repositorio.
Ex:
svn switch ^/myProject/branches/fooBranch
en lugar de
svn switch http://machine22/repos/SandboxRepo/myProject/branches/fooBranch
cool no sabía de esta función –
Parece que se introdujo en svn 1.6. (Funciona con mi repositorio 1.4 siempre que mi cliente sea 1.6.) –
Tenga en cuenta que en Windows el cursor es un carácter de escape y debe duplicarse o citarse para funcionar. – Eterm
svn cleanup
Cuando eso también dice "Ejecutar la limpieza SVN para limpiar"
find . |grep \\.svn/lock |xargs rm
Compatibilidad entre plataformas para Unicode nombres de archivo
estoy trabajando en una empresa japonesa, por lo que el nombre de archivo Unicode apoyo de Subversion es grande. Me ha decepcionado ver cómo poorly Unicode filenames are handled by git and Mercurial en comparación (particularmente en Windows).
(También aprecio lo bien Subversion maneja Unicode en los mensajes de registro, etc.)
desde el punto de vista del administrador, svndumpfilter exclude $file
puede disminuir el tamaño del repositorio de forma sustancial.
- 1. ¿Cuál es tu característica favorita de jQuery?
- 2. configuración .vimrc minimalista favorita
- 3. ¿Una implementación singleton obvia para .NET?
- 4. Programación de lluvia de ideas favorita actividad?
- 5. cv :: goodFeaturesToTrack no devuelve ninguna característica
- 6. ¿Cuál es tu opción favorita de g ++?
- 7. ¿Tienes una etiqueta favorita de Grails personalizada?
- 8. ¿Cuál es tu indicación favorita de Bash?
- 9. ¿Qué es mejor: enviar una característica con errores o no enviar la característica en absoluto?
- 10. No mostrar svn: externals en estado svn
- 11. ¿Se puede usar la palabra clave unsigned de manera no obvia?
- 12. Regex look-behind sin la longitud máxima obvia en Java
- 13. No se puede leer la longitud característica de indefinido
- 14. HSQLDB mensaje de excepción críptica: "característica no compatible"
- 15. Clonación de un repositorio Svn no estándar con Git-Svn
- 16. Svn log - svn: '.' no es una copia de trabajo
- 17. ¿La importación de SVN no crea la carpeta .svn?
- 18. ¿Por qué esta recursión infinita obvia no da una advertencia del compilador?
- 19. ¿Cuál es su herramienta favorita de perfil de bajo nivel?
- 20. Su herramienta de cliente de base de datos favorita
- 21. ¿Cuál es su herramienta de depuración de código abierto favorita?
- 22. ¿Cuál es su área favorita de la API de Java?
- 23. ¿Cuál es tu biblioteca de burla de Python favorita?
- 24. ¿Cuál es tu biblioteca de burlas de Delphi favorita?
- 25. error o característica: abrir y io.open no son intercambiables
- 26. la característica "incluir" del diseño no admite la propiedad layout_gravity?
- 27. SVN ya no escribe .svn en todas las subcarpetas?
- 28. Limpiar una comprobación svn (eliminar archivos que no sean svn)
- 29. git svn: la contraseña para svn no está almacenada
- 30. ¿Cuál es su API de mapeo favorita y por qué?
... ¿Por qué no agregas el tuyo a la pregunta? –