Para muchas operaciones de Subversion, agregar el símbolo '@' al final de un archivo o argumento de URL le permite apuntar a una revisión específica de ese archivo. Por ejemplo, "svn info test.txt@1234" proporcionará información sobre test.txt tal como existía en la revisión 1234.
Sin embargo, cuando el nombre del archivo contiene una @, Subversion lo interpreta incorrectamente como un especificador de revisión:
svn info 'test @ .txt' svn: error de sintaxis al analizar la revisión '.txt'
He intentado comillas dobles y simples, así como escapar con '/', '\' y '@'. ¿Cómo puedo decirle a Subversion que trate los símbolos @ como parte del nombre del archivo?

Respuestas:
Del libro SVN (énfasis agregado):
fuente
news@11podría ser un archivo.@fooa@bar,svn rename @foo@ @barse quejará@bar; pero si lo hacessvn rename @foo@ @bar@, el nuevo nombre será literalmente@bar@. Para evitar esto, añadir./(o.\en las ventanas) para que quede claro que es una ruta local:svn rename @foo@ ./@bar.La respuesta original es correcta, pero quizás no lo suficientemente explícita. Las opciones particulares de la línea de comandos de Unix son las siguientes:
o
o
Acabo de probar los tres.
fuente
svn info [email protected]@y funcionó también. ¡Sí, sin comillas ni barras!bashcarretera :)Solución para agregar múltiples archivos en diferentes subcarpetas:
Simplemente reemplace el "png" en " @ .png" para el tipo de archivos que desea agregar.
fuente
@en su nombre como un caso especial, puede añadir con seguridad el@símbolo en todos los nombres de archivo:for file in $(find ./ -type f -iname "*.png"); do svn add "$file@"; done. Además, ¿este enfoque no deja su repositorio svn con una estructura de archivo / directorio inconsistente con la copia local de trabajo?execde find podría ser más fácil:find . -type f -name "*@*.png" -exec svn add {}@ \;para agregar el siguiente archivo: [email protected] haga lo siguiente: svn add image \ @ 2x.png @
fuente
Simplemente agregue
en el archivo que necesita usar, sin importar qué comando SVN sea, por ejemplo:
a
fuente
En mi caso, necesitaba eliminar archivos de un repositorio SVN que contenía un signo @:
Esto no funcionaría:
Pero esto hizo:
fuente
Para agregar varios archivos, hay una solución alternativa:
fuente
svn status | awk '/\.png/ {print $2"@"}'| xargs svn addPara los comandos svn con 2 argumentos como "mover", debe agregar "@" solo en el parámetro izquierdo (primero). Por ejemplo:
Esta línea es importante: $ svn move README @ txt @ README2 @ txt
Como puede ver, no necesitamos agregar "@" en "README2 @ txt"
fuente
@David H
Acabo de probar un comando similar sin escapar de los símbolos @ y todavía funciona bien
Esto está en GNU bash, versión 3.2.48 (1) -release (x86_64-apple-darwin10.0) y svn 1.6.16
fuente
La única solución que funcionó para mí fue la misma sugerida por @NPike
svn revertir 'ruta / a / nombre de archivo @ ext @'
fuente
Hoy tuve el problema con los nombres de archivo generados a partir de direcciones de correo electrónico (¡no es una muy buena idea!).
Solución, usando
printfopciones defind, y expansión de shellfuente