194 votes

Comment échapper à @ caractères dans Subversion géré les noms de fichier ?

Pour beaucoup de Subversion des opérations, en y ajoutant le symbole " @ " à la fin d'un fichier ou d'une URL argument permet de cibler une révision spécifique de ce fichier. Par exemple, "svn info test.txt@1234" donnera des informations sur test.txt comme s'il existait dans la révision 1234.

Toutefois, lorsque le nom de fichier contient un @, il est mal interprété par la Subversion comme une révision rédacteur de devis:

svn info "test@.txt' svn: erreur de Syntaxe analyse de révision".txt'

J'ai essayé doubles et les guillemets simples ainsi que de s'échapper avec un '/', '\', et '@'. Comment puis-je dire à Subversion pour traiter l' @ symboles comme partie du nom de fichier?

288voto

Rob Kennedy Points 107381

À partir du SVN livre (italiques ajoutés):

Le perspicace lecteur est probablement demander, à ce point de savoir si le piquet de révision de la syntaxe cause des problèmes pour la copie de travail des chemins ou des Url qui ont réellement au niveau des signes en eux. Après tout, comment svn savoir si news@11 est le nom d'un répertoire dans mon arbre ou juste une syntaxe pour "de la version 11 de nouvelles"? Heureusement, tout svn sera toujours supposer que le dernier, il y a une solution triviale. Vous devez uniquement ajouter un signe à la fin du chemin, comme news@11@. svn ne se préoccupe que de le dernier signe de l'argument, et il n'est pas considéré comme illégal d'omettre un littéral révision peg spécificateur après que signe. Cette solution s'applique même à des chemins qui se terminent dans un arobase-vous utiliseriez filename@@ pour parler d'un fichier nommé filename@.

83voto

David H Points 23654

La réponse initiale est correct, mais peut-être pas suffisamment explicite. Les options de ligne de commande unix particulières sont les suivantes :

ou

ou

Je viens de tester tous les trois.

14voto

Lcsky Points 171

Solution permettant d’ajouter plusieurs fichiers dans différents sous-dossiers :

Il suffit de remplacer le « png » en «@.png » le type de fichiers que vous souhaitez ajouter.

12voto

Malek Belkahla Points 91

pour ajouter le fichier suivant : image@2x.png procédez comme suit : svn ajouter image\@2x.png@

8voto

NPike Points 5187

Dans mon cas, j’avais besoin de supprimer des fichiers d’un repo SVN contenant un signe @ :

Cela ne fonctionnerait pas :

Mais ce fait :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X