Je ne suis pas nouveau dans Subversion, mais j'ai jusqu'à présent utilisé Tortoise et jamais la ligne commadn. Ma question est, comment puis-je ignorer tous les fichiers comme * .o de la source ENTIÈRE et pas seulement la racine.
Par exemple, si j'ai les fichiers suivants: /myfile.o /folder1/myfile2.o /folder1/folder1.1/myfile3.o /folder2/myfile4.o
Si svn propedit svn: ignorez "." dans le répertoire racine et ajoutez * .o, il ignorera le myfile.o, mais n'ignore pas /folder1/myfile2.o, /folder1/folder1.1/myfile3.o, /folder2/myfile4.o. Existe-t-il un moyen d'ajouter * .o pour un projet entier (je ne peux pas le faire pour l'ensemble du référentiel, ce qui, je le sais, peut être fait, car ce projet est dans un référentiel avec de nombreux autres projets)?
Veuillez me faire savoir si j'ai besoin de clarifier. Merci!
Éditer
La réponse d'origine fournie ci-dessous a été donnée avant Subversion v1.8 qui a introduit un moyen de définir le niveau de référentiel par défaut ignorer (appelé svn:global-ignores
) sans remplacer/remplacer le svn:ignore
propriété sur le répertoire racine et chaque sous-répertoire. Depuis la version 1.8, la meilleure façon de réaliser ce que vous souhaitez est d'appeler la commande suivante (crédit à TManhente):
svn propset svn:global-ignores '*.o' .
Sur les versions antérieures (et sur les versions ultérieures), vous pouvez toujours utiliser l'approche indiquée dans la réponse d'origine ci-dessous; cependant, sachez que cela suppose que vous êtes d'accord pour remplacer/écraser le svn:ignore
propriété sur chaque sous-répertoire ... cela peut convenir pour un petit/nouveau dépôt, mais ce n'est probablement pas ce que vous voulez si vous avez un grand/ancien référentiel dans lequel certains sous-répertoires peuvent avoir des _ svn:ignore
propriétés que vous ne souhaitez pas écraser.
Réponse originale
Vous pouvez utiliser l'option "-R" ou "--recursive" avec "svn propset" comme dans la commande suivante:
svn propset svn: ignore '* .o'. - récursif
Plus d'informations
Dans les deux cas, vous pouvez utiliser la commande suivante pour plus d'informations sur svn propset:
svn help propset
Juste une mise à jour: Subversion 1.8.0 introduite Propriétés héritées et Configuration dictée du référentiel (pour les accessoires automatiques et les ignorés) , qui peut également être utilisé dans ce cas.
Vous pouvez définir le nouveau svn:global-ignores
propriété dans le chemin racine. Il "n'effectuera que les sous-arbres enracinés sur le chemin sur lequel la propriété est définie".
Cette nouvelle propriété est définie comme svn:ignore
:
svn propset svn:global-ignores '*.o' .
Plus d'informations sont disponibles sur le Notes de version Subversion 1.8. .
Comme indiqué par @ hackmaster.a dans un commentaire, l'exemple donné dans la réponse acceptée a pour effet secondaire d'effacer tous les svn:ignore
paramètres. Utiliser propedit
au lieu de propset
ne fonctionne pas non plus.
La bonne façon d'ajouter plusieurs fichiers de manière récursive consiste à placer leurs noms dans une liste séparée par de nouvelles lignes dans le svn:ignore
propriété définie avec svn propset svn:ignore "[LIST]" .
Par exemple:
svn propset svn:ignore -R "*.pkl
> *.class
> Thumbs.db
> data.tmp" .
Bien sûr, le >
ne sont que les invites du shell.
Cette commande va changer le svn:ignore
propriétés du .
répertoire courant et de chacun de ses sous-dossiers récursivement.