Delphi RES文件和Git

Fra*_*tic 23 delphi git resources

我有一个用Delphi编写的大项目,我想用Git管理它的源代码.我创建了Git存储库,其中包括我的应用程序源和第三方组件.所有这些东西都是自动构建的msbuild.

最大的问题是RES文件.每次重建我的应用程序时都会更新其中一些,有些则不然.有些有*.rc源,有些没有.rc源.我不能忽略所有res文件(.gitignore)因为没有资源我的项目将无法构建.另外,我不能包含res文件 - 它们从构建更改为构建,我不希望在差异中看到它们.

你如何处理Git下的*.res文件?有什么建议吗?

dum*_*uch 15

欢迎来到俱乐部.Delphi中的应用程序.res文件对于使用源代码控制的每个人来说都是一种痛苦.你想使用auto-inc-buildnumber,但它会弄乱你的scource控件.我所做的是

  • 拆分图标和版本资源,如下所示:

    {$ R*_icon.res}

    {$ R*._ version.res}

  • 禁用buildnumber的auto inc

  • 将预构建事件添加到项目中
    • 在与项目对应的.ini文件中增加内部版本号
    • 使用.ini文件中的版本信息生成.rc文件
    • 从.rc文件编译.res文件
  • 将*_icon.res文件添加到源代码管理中,它永远不会更改,因此这是安全的
  • 将带有版本信息的.ini文件添加到源代码控制中,它是一个文本文件,因此很容易区分

我为生成版本.res文件而编写的工具是免费软件,可在此处获得,也可从SourceForge获得


jas*_*nny 9

我将我的项目RES文件保存在git中(那些与dpr名称相匹配的文件).

我相信每次构建时项目RES文件都会改变的唯一原因是你设置了增量版本号,这对我来说要么意味着你需要将res保留在源代码控制中,要么你不关心内部版本号所以你应该关掉那个选项.

我也有从RC构建的RES文件,它改变了每个编译,所以我有一个gitignore for*.res然后我添加git add -f project.res了项目的RES文件