2010-08-18 18 views
17

Con los nuevos archivos de iPhone 2x He tropezado uppon este problema ...¿Cómo eliminar un archivo con @ en su nombre desde svn en la línea de comandos?

+0

¿Cuál es el problema? ¿Qué componente rechaza el nombre del archivo? ¿Qué errores obtienes? ¿En qué plataforma? –

+3

problema similar aquí: http://stackoverflow.com/questions/1985203/why-subversion-skips-files-which-contain-the-symbol –

+0

Votación para cerrar como una trampa de la sugerencia de @ Dmitry –

Respuesta

50

es necesario agregar un signo "@" en el final para conseguir SVN para procesar el archivo.

Por ejemplo, si usted tenía un archivo llamado [email protected] que desea añadir a SVN, escribiría:

svn add [email protected]@ 

Si usted tiene un montón de archivos con el símbolo "@" en su nombre que desea procesar en un lote (es decir, el uso comodín *), se puede hacer algo como esto en OS X Terminal:

find . -name "*@*" | xargs -I % svn add %@ 

el comando anterior utilizar la utilidad hallazgo hacer una lista de cada archivo con @ en su nombre de archivo y luego canalizar cada filepath a SVN usando XARGS.

Para cada ruta de archivo , xargs ejecutará el comando proporcionadosvn add %@, excepto que -I % dice xargs para reemplazar cada ocurrencia de "%" en el proporcionan comandos, con la ruta de archivo entubada. XARGS agrega efectivamente la "@" especial al final del nombre del archivo.

Por ejemplo, después de reemplazar el carácter "%", XARGS ejecutará svn add path/to/your/[email protected]@; SVN aceptará este (presumiblemente porque SVN busca el última ocurrencia de "@" y trata esto como un especificador revisión)

Esperanza esto ayuda - que tenía que golpear la cabeza un poco para agregar los 2x gazzilion @ .png archivos necesarios para que mi aplicación se actualice para iOS 4.0

+2

Por supuesto, si quieres para eliminar los archivos en lugar de agregarlos, solo necesita reemplazar svn add con svn delete en el ejemplo anterior y debería funcionar. – bhavinb

+0

Bueno. Sin embargo, parece extraño: ¿por qué agregar una "@" al final hace que esto funcione? Está documentado en cualquier lugar? –

+0

Muy extraño, agregué @ al final del nombre de archivo 'ubuntu @ ec2-54-245-12-20.us-west-2.compute.amazonaws.com @' y svn delete funcionó. – Siddharth

Cuestiones relacionadas