在Delphi项目中,我应该如何配置SVN?

时间:2011-09-22 16:05:16

标签: delphi svn tortoisesvn

在提交到存储库时,我应该告诉Tortoise SVN忽略哪些文件?

特别是我对实用信息感兴趣,例如是否包含似乎出现但可能不需要的*.dproj.2007等文件。

2 个答案:

答案 0 :(得分:16)

我在D2007中使用它们,它们似乎在XE和XE2中仍能正常工作:

*.dcu *.~* *.ddp *.exe *.map *.bak *.obj *.dsk 
*.err *.log *.tmp *.identcache *.tvsconfig  __history *.todo 
ModelSupport* *.local

我没有包含ModelSupport,因为我没有使用IDE的建模内容,所以如果错误地创建了它就没有意义。我也没有对__history文件夹中的任何内容进行版本控制,因为这只是签到之间的临时版本;一旦签入SVN,就不再需要了。

(我不同意Chris关于*.res,BTW,尤其是涉及XE2时。资源文件现在可以使用Project|Resources and Images创建,并且直接进入资源文件。图像实际上可能来自不在当前文件夹中的其他位置,并且图像文件可能不会被检入,我现在保留.res文件。我还保留项目文件;它具有所有路径和编译器如果在需要更改的地方发生了某些事情,则可以轻松删除项目文件并让IDE根据需要重新创建它。)

答案 1 :(得分:7)

使用Delphi2005,我们的团队早就采用了这个:

* .bdsproj * .scc * .suo * .user .~ * .local * .identcache * .dsk obj bin testing __history * .o * .lo * .la * .al。 libs * .so .so。[0-9] * .a * .pyc * .pyo * .rej 〜##。#*。*。swp .DS_Store

不确定是否需要它们,或者它们中的一些是什么。我没有提出它,只是遵循我们的内部维基....

沿着这些方向,您应该查看服务器端预提交挂钩。我们有一个预提交触发器,它禁止检查.bdsproj,.dpr和.res文件,除非注释中包含特定标记:[Add Project File] [Add Res File]。如果您尝试提交没有这些标记的.bdsproj,.res或.dpr,则提交将无法通过审核并被拒绝,并且将向整个开发团队发送一封令人尴尬的电子邮件。这是因为这些文件很少有任何合法的更改。如果你需要在一个项目中添加一个单元,那就好了,做一下并将标签包含在checkin中,这样就可以了。标签上写着“我知道我在做什么,我有充分的理由改变这个文件”。否则,您已经检查了各种垃圾 - 转数,路径更改,包裹来来往往等。

我们在预提交中也有一些grep过滤器,正在寻找添加的某些内容。就像DevExpress中不需要的“皮肤”单元一样,因为某些开发人员安装了所有皮肤并且IDE决定添加它们。或MadExcept,因为有人在调试之后将其打开(由于各种原因,我们不允许MadExcept在此特定项目的生产中)。类似的东西。

更新:因为我们的环境不典型,我从上面的列表中删除了* .res。