2013-06-17 4 views
2

J'ai un projet Subversion, et je veux ignorer presque tous les fichiers dll. Les seuls dll s que je ne veux pas ignorer sont ceux qui se trouvent dans des dossiers nommés "Références externes".SVN Ne pas ignorer dll dans le dossier "Références externes"

Comment faire?

+0

Pouvez-vous simplement définir la propriété svn: ignore pour tous les dossiers sauf celui-là? – pmod

+0

Ces fichiers DLL sont-ils déjà archivés dans votre référentiel Subversion? Vous ne pouvez pas ignorer les fichiers une fois qu'ils sont archivés dans le référentiel. –

Répondre

2

Vous devez définir une propriété SVN spéciale pour les répertoires dans lesquels vous devez ignorer ces fichiers. Dans les répertoires où vous devez ignorer tous les fichiers .dll - utilisez cette extension. Dans les répertoires où certains fichiers doivent être ignorés, utilisez leurs noms.

Pour ignorer tous les fichiers .dll dans le dossier en cours:

svn propset svn:ignore '*.dll' . 

Pour ignorer certains fichiers .dll dans le dossier en cours de remplir le fichier texte et appliquer:

echo a1.dll > svnignore.txt 
echo a2.dll >> svnignore.txt 
svn propset svn:ignore -F svnignore.txt . 

Et après que don ne pas oublier de valider les modifications:

svn commit -m "Ignore some .dll" 

Notez qu'il annulera tous les précédents svn: ignore propert sies pour ces dossiers le cas échéant (dans ce cas vous devriez utiliser svn propedit).

Si vous avez beaucoup de dossiers au même niveau que "Références externes" et que vous voulez ignorer partout excepté ce dossier particulier, parcourez simplement les répertoires à l'exclusion de celui-ci et définissez cette propriété. Par exemple. pour linux (du répertoire parent):

for d in `ls -Ad | grep -v "External References"`; do svn propset svn:ignore '*.dll' $d; done; 
+0

Cela me semble devoir être mis à jour chaque fois que j'ajoute un dossier. Est-il impossible de définir une convention, comme "ne pas ignorer les fichiers avec 'ExternalReferences' dans leur chemin"? –

+0

Pas moyen, vous devez le définir lorsque vous créez des dossiers .... Cependant, si vous avez un gros projet, beaucoup de dossiers, vous pouvez penser à un script spécial de crochet du serveur qui définira cette propriété automatiquement. – pmod

+0

Ce script peut également appliquer une stratégie interdisant la DLL à tous les dossiers sauf un. Mais cela doit être fait sur un serveur ce qui n'est pas toujours possible. – pmod

Questions connexes