19
votes

I am looking for a list of all file types that can be associated to a Delphi project (all versions of Delphi), more specifically all file types that should be under source control.

This site doesn't mention Delphi 2009 so I'm not sure if there may be new file types.

Is there maybe such a list directly from Codegear?


Putting all the answers together, here is a list:

Files -> Source Control

  • .bdsgroup - Project Group
  • .bdsproj - Project
  • .bpg - Project Group
  • .cfg - Project Configuration
  • .dfm - Delphi Form
  • .dof - Project Options
  • .dpk - Package
  • .dpr - Project
  • .dproj - Project
  • .pas - Pascal File
  • .res - Resource File
  • .todo - IDE Todo

I am not sure about these: Should they be included?

  • .dem
  • .dro
  • .local

Maybe there is anything still missing?

5
.res is a tricky one. They can be autogenerated (e.g. form), or not (if explicitely linked, e.g. some manifest or other resource). I don't add the autogenerated ones to my svnMarco van de Voort

5 Answers

6
votes

Prior to Prism:

  • .pas is the source code - been that way in all versions
  • .dcu delphi compiled unit (compiled .pas file)
  • .dfm delphi form
  • .dpr Delphi project
  • .res resource file
  • .dpk delphi package
  • .dcp compiled version of dpk
  • .dpl/.bpl Windows DLL with Delphi specifics in it
  • .BPG, .BDSGROUP Borland Project group
  • .dcr compiled version of .res
  • .dof settings for solution
  • .dsk settings for IDE specific to the solution (i.e. what windows are open)
  • .dro This text file contains information about the object repository.
  • .dmt This proprietary binary file contains the shipped and user-defined menu templates information
  • .tlb Type library
  • .dem This text file contains some standard country-specific formats for a TMaskEdit component

From my limited work with Prism it seems

  • .pas is the source code - includes forms now
  • .dproj Delphi project
  • .resx resource file
  • .vsproj delphi package
5
votes

Just a couple of extra ones that should not be included (at least I don't.):

  • .drc - generated on every compile (list of bound resources)
  • .map - map file
  • .dproj.local
  • .identcache
  • .groupproj.local

Ones that should:

  • .todo - Project todo file for IDE.
  • .inc - Delphi/Pascal Include files.

Others that depend on what your storing:

  • .groupproj - Delphi group of projects file
4
votes

Here's a guide for setting up Subversion with Delphi. He uses this "Global Ignore Patterns" file filter for subversion:

I use

*.dcu *.~* dcu temp *.exe *.zip *.bkm *.ddp *.cfg *.dof *.dsk *.ini *.hlp *.gid 
*.bmp *.png *.gif ~* *.log bin debug release *.map *.chm *.bkf Thumbs.db *.mdb 
.obj *.elf *.stat *.ddp *.bpl *.map *.GID *.hlp *.opt *.dll *.raw *.BIN *.obj 
*.pdb *.scc Debug Release *.xml obj *.~* *.backup *.INI *.ArmLog *.KeyLog 
*.NanoLog *.Stats *.PreARM *.old *.drc *.*~ *.doc *.pdf *.bmp *.jpg *.MRW *.NEF 
*.ORF *.psd *.X3F __history *.local *.identcache *.bak Thumbs.db *.ldb *.dex 
*.rar DllDcu *.lck CVS cvs *.txt *.TXT *.jdbg *.HLP *.KWF *.xls *.cnt *.dsm 
*.dti *.tmp *.lnk *.cbk *.mes

Note that the patterns are case sensitive.

1
votes

From this link a .local file is for

Delphi/CB 2005 onwards: User-specific project options. When using Starteam projects it will contain overrides to settings from the .bdsproj file.

0
votes

The ".local" files probably SHOULD be included in version control - at least with Rad Studio 2010 (I haven't checked more recent versions).

They are XML files that include (among other cruft) the visual ordering of files in the project within each folder:-

<ProjectSortOrder AutoSort="0" SortType="0">
    <File Path="..\PPP\base.optset"/>
    <File Path="..\HPPP\debug.optset"/>
    <VirtualFolder ID="{BC2DCF60-71AB-4F00-AFCB-CC7FA5414FB5}"/>
    <VirtualFolder ID="{DFA8BFE5-37E7-45F6-B964-18198CB18581}"/>
    <File Path="..\PPP\Xyzzy.cpp"/>

If you delete the .local files, the files in the project are shown in alphabetical order rather than the order you had dragged them into. This is a handy trick to quickly get your files back into alphabetical order!