2011-09-22 85 views
21

我应该告诉Tortoise SVN在提交到存储库时忽略哪些文件?我应该如何配置SVN以在我的Delphi项目中忽略?

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

+0

对不起,但它意在引出实用信息,例如是否包含似乎出现的* .dproj.2007等文件但可能不需要。 –

+0

当您谈论XE&XE2时...我使用嵌入式SVN客户端...从项目经理,右键单击,SVN子菜单...否则,我将开始添加包含**〜** – Whiler

+0

的扩展名的所有文件我建议您询问具体文件和扩展名。 –

回答

15

我在D2007,这似乎在XE和XE2仍然正常工作使用这些:

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

我不包括ModelSupport因为我不使用IDE的造型的东西,所以没有点如果它是由错误创建的版本。我也没有版本__history文件夹中的任何内容,因为这只是签入之间的临时版本控制;一旦签入SVN,就不再需要了。

(我不同意克里斯约*.res,BTW,尤其是当它涉及到XE2。资源文件现在可以使用Project|Resources and Images创建,而那些直接进入一个资源文件。由于资源\图像可能是从什么地方居然来了否则不在当前文件夹中,并且映像文件可能意外不会被检入,我现在保留.res文件。我还保留项目文件;它设置了所有路径和编译器选项。 ,只需删除项目文件,然后让IDE根据需要重新创建即可。)

+0

为了澄清 - 我们签入.res文件,但只有当我们做了有意义的改变。具体来说,我们的自动化构建系统会在.res中增加版本号,我们不希望这些版本被不必要的checkin破坏。所以这可能是特定于我们的环境。 –

+0

有道理。我们只手动进行版本#更改,并在数字更改时标记版本,所以自动增量不会影响我们。 :) –

7

使用Delphi2005,我们的团队早已采用了这一点:

* .bdsproj * .scc * *名为.suo。用户 *。本地* .identcache *的.dsk OBJ斌测试__history *。 o * .lo * .la * .al .libs * .so .so。[0-9] * .a * .pyc * .pyo * .rej 〜##。#*。*。swp。 DS_Store

不知道它们是否全部需要,或者它们中的一些是什么。我没有想出它,只是跟着我们的内部维基百科......

沿着这些路线,你应该看看服务器端的预先提交钩子。我们有一个预先提交的触发器,除非特定标签包含在注释中:[添加项目文件] [添加Res文件],否则将禁止检查.bdsproj,.dpr和.res文件。如果您尝试提交没有这些标签的.bdsproj,.res或.dpr,提交将会使审核失败并被拒绝,并且将发送令人尴尬的电子邮件给整个开发团队。这是因为这些文件很少有任何合法的更改。如果你需要在一个项目中添加一个单元,那么做好,然后在签入时加入标签,这样就可以了。标签上写着“我知道我在做什么,我有很好的理由来改变这个文件”。否则,你有各种垃圾被检查 - 转数字,路径变化,包来来去去,等等。

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

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

+1

在Delphi XE2中,您可以最终从回购库中删除.RES文件,而不会产生奇怪的副作用。如果你之前决定在Delphi版本中只提交.rc文件,你会发现一些奇怪的IDE行为,我敢打赌! –

相关问题