Question

Quel est le meilleur (ou le plus bon possible) motif SVN général à ignorer?

Il existe un certain nombre de fichiers spécifiques à l'IDE, éditeur, compilateur, plug-in, plate-forme, etc., ainsi que certains types de fichiers qui "se chevauchent". (c’est-à-dire souhaitable pour certains types de projets et non pour d’autres).

Cependant, il existe un grand nombre de types de fichiers que vous ne souhaitez jamais inclure dans le contrôle de source automatiquement, quelles que soient les caractéristiques de votre environnement de développement.

La réponse à cette question constituerait un bon point de départ pour tout projet, ne lui demandant que d’ajouter les quelques éléments spécifiques à l’environnement dont elle a besoin. Il pourrait également être adapté à d’autres systèmes de contrôle de version (VCS).

Était-ce utile?

La solution

Je vais ajouter mes propres deux cents à cette question:

J'utilise le modèle suivant d'ignorance SVN avec TortoiseSVN et Subversion CLI pour les projets C ++ natifs, C # / VB.NET et PERL sur les plates-formes Windows et Linux. Cela fonctionne bien pour moi!

Formaté pour copier / 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 *.generated.cs

Formaté pour plus de 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
*.generated.cs

Autres conseils

Sur la base du modèle d'ignorance de Burly, j'ai ajouté ReSharper à la liste des ignorés

Formaté pour copier / 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 plus de 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 Ignorer 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 logs output TestResults *.crunchsolution.* *.crunchproject.*

Formaté pour plus de 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 logs output TestResults 
*.crunchsolution.* *.crunchproject.*

Chaque fois que je rencontre un fichier que je ne souhaite généralement pas dans le référentiel, je mets à jour le modèle. Je crois qu’il n’ya pas de "meilleur" modèle - il toujours dépend de la langue et de l'environnement dans lesquels vous vous développez.

De plus, vous n’êtes pas très susceptible de penser à tous les "ignorables" possibles. types de fichiers - vous rencontrerez toujours un type de fichier que vous avez tout simplement oublié d'inclure. C’est pourquoi la mise à jour du motif au fur et à mesure fonctionne le mieux.

Les utilisateurs de Windows peuvent vouloir ajouter 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 absolument exclure les fichiers .ncb

.

Les utilisateurs de Mac voudront probablement ajouter .DS_Store. En outre, si des développeurs utilisent Emacs ou Vim, vous voudrez probablement ajouter ~ ~ et # #.

Pour Eclipse, j'utilise:

bin
.*

. * récupère toute la configuration du projet. Vous ne voulez presque jamais vérifier dans un répertoire ou un fichier "caché", mais s'il apparaît, vous pouvez quand même l'ajouter.

Etant donné que vous utilisez peut-être des bibliothèques et des dll tierces dans vos projets, je ne vois pas l'intérêt de bloquer * .lib et * .dll 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 ajouter ipch (un dossier contenant des en-têtes précompilés C ++) et *. sdf (énormes fichiers 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 souhaiterez bloquer **. o *, **. so *, **. a * et **. la * pour commencer. Vous voudrez peut-être aussi bloquer ** ~ * (fichier de sauvegarde de l’édition) et # * # (sauvegarde d’Emacs après un plantage).

Sous Windows, vous voudrez au minimum **. obj *, **. lib * et **. dll *.

Tous les autres fichiers que vous devez bloquer dépendent de votre IDE, de votre éditeur et de votre compilateur.

Il faut ajouter Resharper au mix si vous en utilisez un.

Un autre à surveiller est Ankh *. *

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 le retour de Microsoft Office et Windows

# 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 le retour de Microsoft Office et Windows

# 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 qu'il puisse être directement utilisé comme svn: global-ignore

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top