Meilleur général SVN Ignorer Pattern?

Quel est le meilleur (ou aussi bon que possible) modèle SVN général à utiliser?

Il existe un certain nombre de fichiers spécifiques à l’EDI, à l’éditeur, au compilateur, au plug-in, à la plate-forme, etc.

Il existe toutefois un grand nombre de types de fichiers que vous ne souhaitez tout simplement pas inclure dans le contrôle de source, indépendamment des spécificités de votre environnement de développement.

La réponse à cette question constituerait un bon sharepoint départ pour tout projet – en leur demandant uniquement d’append les quelques éléments spécifiques à l’environnement dont ils ont besoin. Il pourrait également être adapté aux autres systèmes de contrôle de version (VCS).

Je vais append mes deux cents à cette question:

J’utilise le schéma SVN ignore suivant avec TortoiseSVN et Subversion CLI pour les projets natifs C ++, C # / VB.NET et PERL sur les plates-formes Windows et Linux. Ca marche bien pour moi!

Formaté pour copier et coller:

 * .o * .lo * .la # * #. *. rej * .rej. * ~ * ~. # * .DS_Store thumbs.db Thumbs.db * .bak * .class * .exe * .dll * .mine * .obj * .ncb * .lib * .log * .idb * .pdb * .ilk * .msi * .res * .pch * .suo * .exp *. * ~ *. ~ * ~ *. * cvs CVS Version .CVS .cvs Version Déboguer Déboguer ignorer Ignorer bin Bin obj Obj * .csproj.user * .user * .generated.cs

Formaté pour la lisibilité:

 * .o * .lo * .la # * #. *. rej * .rej
 . * ~ * ~. # * .DS_Store thumbs.db 
 Thumbs.db * .bak * .class * .exe * .dll
 * .mine * .obj * .ncb * .lib * .log 
 * .idb * .pdb * .ilk * .msi * .res * .pch * .suo 
 * .exp *. * ~ *. ~ * ~ *. * cvs CVS .CVS .cvs  
 release Déboguer le débogage
 ignorer Ignorer bin Bin obj Obj
 * .csproj.user * .user
 * .generated.cs

Basé sur le motif d’ignorance de Burly, j’ai ajouté ReSharper à la liste des ignorés

Formaté pour copier et coller:

*.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user _ReSharper.* *.resharper.user 

Formaté pour la lisibilité:

 *.o *.lo .la ## .*.rej .rej .~ ~ .# .DS_Store thumbs.db Thumbs.db *.bak *.class *.exe *.dll *.mine *.obj *.ncb *.lib *.log *.idb *.pdb *.ilk .msi .res *.pch *.suo *.exp ~. cvs CVS .CVS .cvs release Release debug Debug ignore Ignore bin Bin obj Obj *.csproj.user *.user _ReSharper.* *.resharper.user 

Mon modèle ignoré pour Visual Studio:

 * / bin * / obj * / Release * / Debug * .suo * .err * .log * .obj * .bin * .dll * .exe * .LOG * .user * .pdb [tT] emp [tT] empPE Ankh.Load thumbs.db * .resharper * .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper. * Bin obj * .resharperoptions * .db * .bak * _ReSharper * * .snk enregistre la sortie TestResults * .crunchsolution . * * .crunchproject. *

Formaté pour la lisibilité

 * / bin * / obj * / Release * / Debug * .suo * .err * .log * .obj * .bin * .dll * .exe 
 * .LOG * .user * .pdb [tT] emp [tT] empPE Ankh.Load thumbs.db * .resharper 
 * .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper. * bin obj 
 * .resharperoptions * .db * .bak * _ReSharper * * .snk enregistre la sortie de test 
 * .crunchsolution. * * .crunchproject. *

Chaque fois que je rencontre un fichier que je ne veux généralement pas dans le référentiel, je le mets à jour. Je crois qu’il n’y a pas de “meilleur” modèle – cela dépend toujours de la langue et de l’environnement dans lesquels vous vous développez.

De plus, il est peu probable que vous pensiez à tous les types de fichiers “ignifiables” possibles – vous rencontrerez toujours un type de fichier que vous avez simplement oublié d’inclure. C’est pourquoi il est préférable de mettre à jour le modèle au fur et à mesure.

Les utilisateurs Windows peuvent vouloir lancer desktop.ini et thumbs.db.

Utilisé pour mes projets Visual Studio

 */bin */obj *.user *.suo 

Vous pouvez développer davantage de types de fichiers à partir de là.

Les utilisateurs de Visual Studio (VC ++) doivent impérativement exclure les fichiers .ncb

Les utilisateurs Mac veulent probablement jeter dans .DS_Store. De plus, s’il y a des développeurs utilisant Emacs ou Vim, vous voudrez probablement append ~ ~ et # #.

Pour Eclipse, j’utilise:

 bin .* 

. * obtient toute la configuration du projet. Vous ne voulez presque jamais archiver un répertoire ou un fichier «caché», mais si cela se produit, vous pouvez toujours l’append.

Comme vous utilisez peut-être des libs et des DLL tiers dans le cadre du ou des projets, je ne vois pas l’intérêt de bloquer * .lib et * .dll à partir du référentiel. Ce sont les choses qui doivent être stockées dans le référentiel.

Les utilisateurs de Visual Studio 2010 doivent append ipch (un dossier contenant des en-têtes précompilés en C ++) et *.sdf (fichiers volumineux utilisés par intellisense pour tout type de projet).

Le modèle dépend du système d’exploitation que vous utilisez.

Sous Linux, vous devez bloquer **. O *, **. So *, **. A * et **. La * pour commencer. Vous pouvez également vouloir bloquer ** ~ * (fichier de sauvegarde à partir de l’édition) et # * # (sauvegarde emacs à partir d’un incident).

Sous Windows, vous voudrez au moins **. Obj *, **. Lib * et **. Dll *.

Tout autre fichier que vous devez bloquer dépend de votre IDE, de votre éditeur et de votre compilateur.

Je dois append Resharper au mélange si vous en utilisez un.

Ankh * est un autre exemple. *

N’oubliez pas les fichiers temporaires de NCrunch :

 *.crunchsolution.* *.crunchproject.* 

Et core dumps (cygwin, linux)

 *.stackdump core.* 

gitignore.io fournit des modèles configurables pour git. Ils fournissent une liste lisible, que vous devez reformater pour SVN.

Par exemple, demander Microsoft Office et Windows renvoie

 # Created by https://www.gitignore.io/api/microsoftoffice,windows ### MicrosoftOffice ### *.tmp # Word temporary ~$*.doc* # Excel temporary ~$*.xls* # Excel Backup File *.xlk # PowerPoint temporary ~$*.ppt* # Visio autosave temporary files *.~vsdx ### Windows ### # Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msm *.msp # Windows shortcuts *.lnk 

gitignore.io fournit des modèles configurables pour git. Ils fournissent une liste lisible, que vous devez reformater pour SVN.

Par exemple, demander Microsoft Office et Windows renvoie

 # Created by https://www.gitignore.io/api/microsoftoffice,windows ### MicrosoftOffice ### *.tmp # Word temporary ~$*.doc* # Excel temporary ~$*.xls* # Excel Backup File *.xlk # PowerPoint temporary ~$*.ppt* # Visio autosave temporary files *.~vsdx ### Windows ### # Windows image file caches Thumbs.db ehthumbs.db # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msm *.msp # Windows shortcuts *.lnk 

Il semble que l’on puisse l’utiliser directement comme svn:global-ignore