Mercurial .hgignore pour les projets Visual Studio 2008

Quelle est une bonne configuration pour le fichier .hgignore lorsque vous travaillez avec Visual Studio 2008?

Je développe principalement par moi-même, mais je clone occasionnellement le repository pour que quelqu’un d’autre y travaille.

Je pense aux dossiers obj, aux fichiers .suo, aux fichiers .sln, aux fichiers .user, etc. Peut-on simplement les inclure ou y a-t-il un fichier que je ne devrais pas inclure?

Merci!

ps: en ce moment je fais ce qui suit: ignore tous les fichiers .pdb et tous les dossiers obj.

# regexp syntax. syntax: glob *.pdb syntax: regexp /obj/ 

Voici mon fichier .hgignore standard à utiliser avec VS2008 qui a été modifié à l’origine à partir d’un fichier ignorer Git:

 # Ignore file for Visual Studio 2008 # use glob syntax syntax: glob # Ignore Visual Studio 2008 files *.obj *.exe *.pdb *.user *.aps *.pch *.vspscc *_i.c *_p.c *.ncb *.suo *.tlb *.tlh *.bak *.cache *.ilk *.log *.lib *.sbr *.scc [Bb]in [Dd]ebug*/ obj/ [Rr]elease*/ _ReSharper*/ [Tt]est[Rr]esult* [Bb]uild[Ll]og.* *.[Pp]ublish.xml 

Ceci est spécifique à un projet C #, mais j’ignore ces fichiers / répertoires:

  • *.csproj.user
  • /obj/*
  • /bin/*
  • *.ncb
  • *.suo

Je n’ai aucun problème à exécuter le code dans le repository sur d’autres machines après avoir ignoré tous ces fichiers. Le moyen le plus simple de trouver ce que vous devez conserver est de faire une copie du dossier et de commencer à supprimer les éléments qui ne vous semblent pas nécessaires. Continuez d’essayer de construire, et tant que vous pouvez construire avec succès, continuez à supprimer. Si vous en supprimez trop, copiez-le à partir du dossier source.

Au final, vous aurez un bon répertoire contenant les seuls fichiers à valider.

Je me sens exclu de la conversation. Voici mon fichier .hgignore. Il couvre les développements C #, C ++ et Visual Studio en général, y compris les éléments COM (bibliothèques de types), certains fichiers de générateur finaux, les mises à niveau de projets CodeRush, ReSharper et Visual Studio. Il a également quelques ignorances pour le développement web moderne (c.2015).

 syntax: glob * - [Cc]opy * - [Cc]opy/ * - [Cc]opy (?)/ * - [Cc]opy.* * - [Cc]opy (?).* **/.* **/scss/*.css *.*scc *.FileListAbsolute.txt *.aps *.bak *.bin *.[Cc]ache *.clw *.css.map *.eto *.exe *.fb6lck *.fbl6 *.fbpInf *.ilk *.lib *.log *.ncb *.nlb *.nupkg *.obj *.old *.orig *.patch *.pch *.pdb *.plg *.[Pp]ublish.xml *.rdl.data *.sbr *.scc *.sig *.sqlsuo *.suo *.svclog *.tlb *.tlh *.tli *.tmp *.user *.vshost.* *.docstates *DXCore.Solution *_i.c *_p.c __MVC_BACKUP/ _[Rr]e[Ss]harper.*/ _UpgradeReport_Files/ Ankh.Load Backup* [Bb]in/ bower_components/ [Bb]uild/ CVS/ [Dd]ebug/ [Ee]xternal/ hgignore[.-]* ignore[.-]* lint.db node_modules/ [Oo]bj/ [Pp]ackages/ PrecomstackdWeb/ [Pp]ublished/ [Rr]elease/ svnignore[.-]* [Tt]humbs.db UpgradeLog*.* 

Voici le contenu de mes projets .hgignore pour C # Visual Studio:

 syntax: glob *.user *.ncb *.nlb *.suo *.aps *.clw *.pdb *\Debug\* *\Release\* 

Quelques notes:

  1. Si vous avez des “versions” personnalisées en plus de “Debug” et “Release”, vous devrez peut-être les append.
  2. Soyez prudent lorsque vous modifiez manuellement votre .hgignore. Si vous faites une erreur de syntaxe, alors hgtortoise n’ouvrira plus la boîte de dialog de validation.

Mon contenu Mercurial .hgignore:

 syntax: glob #-- Files *.bak.* *.bak thumbs.db #-- Directories App_Data/* bin/ obj/ _ReSharper.*/ tmp/ #-- Microsoft Visual Studio specific *.user *.suo #-- MonoDevelop specific *.pidb *.userprefs *.usertasks 

Gardez à l’esprit que je travaille principalement sur des projets WinForms, ASP.NET MVC et Mobile utilisant Microsoft Visual Studio et occasionnellement MonoDevelop. Selon vos outils et types de projets, vous rencontrerez probablement d’autres fichiers à ignorer.

J’essaie de garder la dernière version sur CodePaste.NET à http://codepaste.net/zxov7i

d’autres que j’utilise:

 output PrecomstackdWeb _UpgradeReport_Files #Guidance Automation Toolkit *.gpState #patches *.patch 

Voici quelques embêtants: Matlab et les autosaves Excel / Office.

 # use glob syntax syntax: glob # Matlab ignore files *.asv # Microsoft Office ~$* 

Si je les ajoute accidentellement puis ferme le fichier réel qui était ouvert, Excel et / ou Matlab suppriment la sauvegarde automatique, puis Mercurial sera bloqué en se demandant où ils sont allés. Je suis sûr qu’il existe d’autres programmes qui font des choses similaires.