2009-07-16 9 views
1

J'ai un dépôt SVN qui a des choses du répertoire Bin (.exe, .dll, .pdb). Je voudrais nettoyer le dépôt pour effacer ces fichiers et les empêcher de revenir. Comment puis-je nettoyer le dépôt (sans aller fichier par fichier, répertoire par répertoire)?Supprimer un fichier spécifique d'un référentiel Subversion?

  1. Comment nettoyer le référentiel?
  2. Comment puis-je empêcher d'ajouter ces fichiers? (En SVNTortoise j'ai ajouté un Ignorés motif à *.exe *.suo *.pdb /Debug/*, mais il ne semble pas fonctionner correctement.
+3

Cela n'appartient pas à StackOverflow? –

Répondre

6

Vous devrez supprimer et ignorer ces fichiers. Il n'y a pas de moyen direct de le faire, car la propriété ignore ne s'applique pas récursivement dans les chemins du répertoire.

  • assurez-vous que vous avez installé tortoisesvn
  • Commander le chemin du référentiel vous devez modifier dans un dossier local
  • utiliser un outil de recherche pour trouver des fichiers, comme *.dll, à l'intérieur des svn copie locale
  • Je recommande de trouver dans total commander, appuyez sur alt-f7, spécifiez un critère de recherche, la recherche
  • une fois la recherche terminée, appuyez sur "alimentation pour listBox"

total commander search http://img60.imageshack.us/img60/7440/20090716104038.png

  • sélectionner tous les fichiers avec un ctrl-
  • clic droit (par défaut en commandant total que vous devez faire un clic droit à long pour le menu contextuel)
  • sélectionnez l'option tortoisesvn -> supprimer et ignorer la liste -> supprimer et ignorer xx éléments par extension

tortoisesvn mass ignore http://img60.imageshack.us/img60/5207/20090716104211.png

  • la même chose peut être fait avec les répertoires

Maintenant, vous » ve atteint:

  • dans chaque chemin sélectionné, les extensions de fichier que vous avez nored, sera ignoré
  • à l'avenir, ne commettez pas ces fichiers, les ignorer
+0

captures d'écran FTW – seth

0

Ces fichiers ne sont pas censés être dans le référentiel. Ne mettez ce que vous avez besoin pour construire l'exécutable (code source + makefile).

Je vous suggère de placer la source et l'exécutable dans des répertoires différents, et seulement checkin ceux du répertoire source.

Pour la partie de suppression, ne dérange pas. Juste créer une nouvelle révision sans ces fichiers

2

Comme la question initiale était en fait comment nettoyer le dépôt (et il peut y avoir des raisons valables de le faire : juridique, ou taille du dépôt explosant), je voudrais ajouter que la seule façon de le faire est de déposer un dépôt dans un fichier (svn dump), de filtrer le contenu avec 'svndumpfilter' et de le recharger dans un nouveau référentiel :

Questions connexes