Domanda

Qual è il modello generale di ignoranza SVN migliore (o il più buono possibile) da utilizzare?

Esistono numerosi IDE, editor, compilatori, plug-in, piattaforme, ecc. diversi.file specifici e alcuni tipi di file che "si sovrappongono" (ad es.desiderabile per alcuni tipi di progetti e non per altri).

Esistono tuttavia numerosi tipi di file che non vorresti mai includere automaticamente nel controllo del codice sorgente, indipendentemente dalle specifiche del tuo ambiente di sviluppo.

La risposta a questa domanda costituirebbe un buon punto di partenza per qualsiasi progetto, richiedendo solo di aggiungere i pochi elementi specifici dell'ambiente di cui hanno bisogno.Potrebbe essere adattato anche per altri sistemi di controllo versione (VCS).

È stato utile?

Soluzione

Aggiungerò i miei due centesimi a questa domanda:

Utilizzo il seguente pattern di ignoranza SVN con TortoiseSVN e Subversion CLI per progetti nativi C++, C#/VB.NET e PERL su piattaforme Windows e Linux.Funziona bene per me!

Formattato per copiare e incollare:

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

Formattato per la leggibilità:

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

Altri suggerimenti

In base al modello di ignoranza di Burly, ho aggiunto ReSharper all'elenco di ignoranza

Formattato per copiare e incollare:

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

Formattato per la leggibilità:

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

Il mio pattern da ignorare per 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.*

Formattato per la leggibilità

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

Ogni volta che mi imbatto in un file che generalmente non desidero nel repository, aggiorno il pattern.Credo che non esista uno schema "migliore": esiste sempre dipende dalla lingua e dall'ambiente ti sviluppi in.

Inoltre, è molto improbabile che tu pensi a tutti i possibili tipi di file "ignorabili": incontrerai sempre un tipo di file che semplicemente hai dimenticato di includere.Ecco perché aggiornare il modello man mano che procedi funziona meglio.

Gli utenti Windows potrebbero voler inserire desktop.ini e Thumbs.db.

Utilizzato per i miei progetti di Visual Studio

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

Da lì puoi espandere più tipi di file.

Gli utenti di Visual Studio (VC++) devono assolutamente escludere il file .ncb File

Gli utenti Mac probabilmente vorranno aggiungere .DS_Store.Inoltre, se ci sono sviluppatori che utilizzano Emacs o Vim, probabilmente vorrai aggiungere ~~ e ##.

Per Eclipse, utilizzo:

bin
.*

.* ottiene tutta la configurazione del progetto.Non vorrai quasi mai controllare una directory o un file "nascosto", ma se viene visualizzato, puoi comunque aggiungerlo con svn.

Dato che potresti utilizzare librerie e DLL di terze parti come parte dei progetti, non vedo il senso di bloccare *.lib e *.dll dal repository.Queste sono le cose che devono essere archiviate nel repository.

Gli utenti di Visual Studio 2010 dovrebbero aggiungere ipch (una cartella che contiene intestazioni precompilate C++) e *.sdf (file enormi utilizzati da intellisense per qualsiasi tipo di progetto).

Il modello dipende dal sistema operativo in uso.

Su Linux, ti consigliamo di bloccare **.o*, **.so*, **.a* e **.la* per cominciare.Potresti anche voler bloccare **~* (file di backup dalla modifica) e #*# (backup di emacs da un arresto anomalo).

Su Windows, ti serviranno almeno **.obj*, **.lib* e **.dll*.

Tutti gli altri file che devi bloccare dipendono dal tuo IDE, editor e compilatore.

Devi aggiungere Resharper al mix se ne usi uno.

un altro a cui prestare attenzione è Ankh*.*

Non dimenticare NCrunch file temporanei:

*.crunchsolution.* *.crunchproject.*

E core dump (cygwin, linux)

*.stackdump core.*

gitignore.io fornisce modelli configurabili per git.Forniscono un elenco leggibile, che è necessario riformattare per SVN.

Ad esempio, richiedendo MicrosoftOffice e Windows ritorna

# 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 fornisce modelli configurabili per git.Forniscono un elenco leggibile, che è necessario riformattare per SVN.

Ad esempio, richiedendo MicrosoftOffice e Windows ritorna

# 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

Sembra che possa essere utilizzato direttamente come svn:global-ignore

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top