2010-08-10 5 views
0

Y a-t-il une commande svn pour dire au dépôt de "rm" automatiquement les fichiers en repo qui existent dans le repo mais pas dans mon répertoire?svn pour mettre à jour automatiquement mon dossier sans manuellement "svn rm ..."

une explication peu:

j'ai mon propre projet hébergé sur Google Code. Dans mon dossier local, j'ai supprimé plusieurs fichiers. Maintenant, je veux commettre. Cependant, je ne me souviens pas des fichiers que j'ai supprimés. Il semble assez lourd à trouver (par exemple, sauvegarder mon répertoire, mettre à jour le répertoire, et diff les répertoires, puis générer une liste de fichiers à "svn rm f1 f2 ...")

je sais que dans svn cela correct façon de supprimer un fichier est d'abord appeler "svn rm fname", qui va supprimer le fichier pour vous. Mais longue histoire courte ... j'ai la situation ci-dessus.

Répondre

2

Je viens d'essayer ce qui suit sur mon système Mac OS X et il semblait travailler:

$ svn status -q | grep '! ' | awk '{ print $2 }' | xargs svn rm 

Cela ne commet rien, délivre juste la commande svn rm (s) pour vous. J'espère que cela t'aides!

EDIT: Cela ne pas gérer correctement les fichiers avec des espaces dans le nom (par exemple « Mon texte file.txt »), mais il devrait fonctionner pour les noms de fichiers sans espaces.

+0

+1 pour poster d'abord :) –

+0

merci à tous. svn status -q l'a fait. –

+0

@zr À la votre! :-) –

1

Pas que je sache.

svn status vous donne un aperçu de l'état actuel de votre répertoire de travail. Fichiers préfixés avec un! sont manquants (supprimés, mais pas svn rm'd).

1

Si vous validez le dossier racine de votre copie de travail, Subversion devrait remarquer que les fichiers sont manquants dans la copie de travail. TortoiseSVN propose au moins de supprimer ces fichiers du repo - je ne sais pas comment le client en ligne de commande gère cela.

2

Ce DEVRAIT fonctionner. Utilisez à vos propres risques - mieux créer une sauvegarde avant de l'exécuter:

svn st | grep "^!" | gawk '{print $2}' | xargs svn rm 
0

Vous auriez pu faire svn, sélectionnez la liste, puis svn rm les fichiers récupérés.

Questions connexes