Bestes allgemeines SVN ignoriere Muster?

Was ist das beste (oder so gut wie möglich) allgemeine SVN-Ignoriermuster zu verwenden?

Es gibt eine Reihe verschiedener IDE-, Editor-, Compiler-, Plug-In-, Plattform-, usw. spezifischer Dateien und einige Dateitypen, die sich “überlappen” (dh für einige Typen von Projekten wünschenswert und nicht für andere).

Es gibt jedoch eine große Anzahl von Dateitypen, die Sie niemals automatisch in die Quellcodeverwaltung aufnehmen möchten, unabhängig von den Besonderheiten Ihrer Entwicklungsumgebung.

Die Antwort auf diese Frage würde als guter Ausgangspunkt für jedes Projekt dienen – sie müssten nur die wenigen umgebungsspezifischen Elemente hinzufügen, die sie benötigen. Es könnte auch für andere Versionskontrollsysteme (VCS) angepasst werden.

Ich füge meine Frage zu dieser Frage hinzu:

Ich verwende das folgende SVN-Ignoriermuster mit TortoiseSVN und Subversion CLI für native C ++ -, C # / VB.NET- und PERL-Projekte auf Windows- und Linux-Plattformen. Es funktioniert gut für mich!

Zum Kopieren und Einfügen formatiert:

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

Formatiert für Lesbarkeit:

 * .o * .lo * .la # * #. *. rej * .rej
 . * ~ * ~. # * .DS_Store Daumen.db 
 Thumbs.db * .bak * .class * .exe * .dll
 * .mine * .obj * .ncb * .lib * .log 
 * .idb * .pdb * .ilk * .msi * .res * .pch * .suo 
 * .exp *. * ~ *. ~ * ~ *. * Lebenslauf CVS .CVS .cvs  
 Release Debug debuggen
 Ignorieren Ignorieren Bin Obj. Obj
 * .csproj.user * .user
 * .generierte.cs

Basierend auf Burlys Ignoriermuster habe ich ReSharper zur Ignorierliste hinzugefügt

Zum Kopieren und Einfügen formatiert:

*.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 

Formatiert für Lesbarkeit:

 *.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 

Mein Ignoriermuster für Visual Studio:

 * / bin * / obj * / Freigabe * / 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 protokolliert die Ausgabe TestResults * .crunchsolution . * * .crunchproject. *

Formatiert für die Lesbarkeit

 * / bin * / obj * / Freigabe * / Debug * .suo * .err * .log * .obj * .bin * .dll * .exe 
 * .LOG * .user * .pdb [tT] emp [tT] empPE Ankh.Load thumbs.db * .respar 
 * .vspscc * .vsssccc * .scc * / _ ReSharper * * / _ ReSharper. * bin obj 
 * .resharperoptions * .db * .bak * _ReSharper * * .snk protokolliert die Ausgabe von TestResults 
 * .crunchsolution. * * .crunchproject. *

Jedes Mal, wenn ich auf eine Datei stoße, die ich normalerweise nicht im Repository haben möchte, aktualisiere ich das Muster. Ich glaube, es gibt kein “bestes” Muster – es hängt immer von der Sprache und Umgebung ab , in der man sich entwickelt.

Darüber hinaus werden Sie wahrscheinlich nicht an alle möglichen “ignorierbaren” Dateitypen denken – Sie werden immer auf einen Dateityp stoßen, den Sie vergessen haben einzuschließen. Deshalb funktioniert das Aktualisieren des Musters, wie Sie gehen, am besten.

Windows-Benutzer möchten möglicherweise die Dateien desktop.ini und thumbs.db eincasting.

Wird für meine Visual Studio-Projekte verwendet

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

Sie können weitere Dateitypen von dort aus erweitern.

Benutzer von Visual Studio (VC ++) müssen die .ncb- Dateien definitiv ausschließen

Mac-Benutzer möchten wahrscheinlich .DS_Store eincasting. Wenn Devs Emacs oder Vim verwenden, möchten Sie wahrscheinlich ~ ~ und # # hinzufügen.

Für Eclipse verwende ich:

 bin .* 

. * erhält die gesamte Projektkonfiguration. Sie wollen fast nie ein verstecktes Verzeichnis oder eine Datei einchecken, aber wenn es auftaucht, können Sie es immer noch hinzufügen.

Da Sie möglicherweise Libs und DLLs von Drittanbietern als Teil des Projekts (der Projekte) verwenden, sehe ich nicht die Weisheit darin, * .lib und * .dll aus dem Repository zu blockieren. Dies sind die Dinge, die im Repository gespeichert werden sollen.

Benutzer von Visual Studio 2010 sollten ipch (einen Ordner, der vorkompilierte C ++ – Header enthält) und *.sdf (riesige Dateien, die von Intellisense für jede Art von Projekt verwendet werden) hinzufügen.

Das Muster hängt davon ab, welches Betriebssystem Sie verwenden.

Unter Linux möchten Sie **. O *, **. So *, **. A * und **. La * zunächst blockieren. Vielleicht möchten Sie auch ** ~ * (Backup-Datei von der Bearbeitung) und # * # (Emacs-Backup von einem Absturz) blockieren.

Unter Windows wollen Sie **. Obj *, **. Lib * und **. Dll * zumindest.

Alle anderen Dateien, die Sie blockieren müssen, hängen von Ihrer IDE, Ihrem Editor und Ihrem Compiler ab.

Muss Resharper zu der Mischung hinzufügen, wenn Sie eine verwenden.

ein anderer, auf den man achten muss, ist Ankh *. *

Vergessen Sie nicht NCrunch temporäre Dateien:

 *.crunchsolution.* *.crunchproject.* 

Und Core Dumps (Cygwin, Linux)

 *.stackdump core.* 

gitignore.io bietet konfigurierbare Muster für Git. Sie bieten eine lesbare Liste, die Sie für SVN neu formatieren müssen.

Zum Beispiel kehrt die Anforderung von MicrosoftOffice und Windows zurück

 # 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 bietet konfigurierbare Muster für Git. Sie bieten eine lesbare Liste, die Sie für SVN neu formatieren müssen.

Zum Beispiel kehrt die Anforderung von MicrosoftOffice und Windows zurück

 # 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 

Es scheint, dass es direkt als svn:global-ignore