SVN delete

Vincent Lefevre vincent at vinc17.org
Fri Oct 27 17:43:53 CEST 2006


On 2006-10-27 14:51:42 +0200, =?UTF-8?Q? Kuon_-_Nicolas_Goy_=28Goyman.com_SA=29_-_=E6=99=82?= =?UTF-8?Q?=E6=9C=9F=E7=B2=BE=E9=9C=8A ?= wrote:
> Donc, la petite commande pour ce faire:
> 
> svn status |grep ! |cut -d" " -f7 >| /tmp/svnDelete && svn delete  -- 
> targets /tmp/svnDelete && rm /tmp/svnDelete
> 
> le cut -d" " -f7 n'est pas très robuste, mais je vous laise le soin  
> de vérifier que cela cut bien le filename.

Le pire, c'est le "grep !", qui va aussi matcher les fichiers qui ont
un ! dans leur nom (j'en ai un certain nombre chez moi: ce sont des
fichiers qui viennent de RISC OS, où ce caractère est utilisé en
début de certains noms de fichiers). Il faut le remplacer par un

  grep '^!'

je suppose.

D'autre part, si un autre utilisateur a créé un lien symbolique
/tmp/svnDelete pointant vers un de tes fichiers, tu l'écrases.
Donc éviter d'utiliser des répertoires communs comme /tmp sans
prendre de précaution. Je crois que le plus sûr si on doit créer
un fichier dans un tel répertoire, c'est commencer par créer un
répertoire, ensuite vérifier qu'on est bien l'auteur du fichier,
ensuite vérifier les permissions et que ce n'est pas un lien
symbolique (c'est plus que ce que demande la théorie, mais en
pratique, il faut toujours vérifier plus de choses, car certains
systèmes sont particulièrement buggés).

-- 
Vincent Lefèvre <vincent at vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


More information about the Shell mailing list