是否有任何简单的自动方式来查找与Delphi项目相关的所有源文件?

时间:2011-03-08 03:39:06

标签: delphi backup delphi-2006 gexperts

我喜欢在发布版本时备份项目的源代码集。我使用GExperts项目备份,它似乎将项目管理器中的所有文件收集到ZIP文件中。你也可以在这个文件集中添加任意文件,但我总是意识到我不一定得到所有文件。除非我专门查看uses子句并将我拥有的所有单元添加到项目中,否则我将永远不会确保存储重新创建可安装/可执行文件所需的所有文件。

我已经考虑过滚动应用程序来遍历项目,跟踪所有使用的单位并查看所有搜索路径并查看是否有可用于该单元的源文件,并构建要备份的文件列表那样,但是嘿 - 也许某人已经完成了这项工作?

4 个答案:

答案 0 :(得分:12)

您应该(强烈推荐)查看版本控制。

e.g。 SVN(颠覆),CVS

这将允许您控制所有源的修订。它允许您添加或删除源文件,回滚合并以及与管理项目源相关的所有其他好处。

这将在一天内节省您的$%。

答案 1 :(得分:1)

您可以通过两种方式解释您的问题:

  1. 如何确保至少备份足够的文件以便我可以构建项目
  2. 如何确保备份不太多的文件,以便我仍然可以构建项目
  3. 第一个是确保你可以构建系统,第二个是允许你清理未使用的文件。

    对于两者而言,包含单独构建系统的版本控制系统是可行的方法。

    然后,对于每个新的更改集,您可以使用这些步骤来确保两个条件成立:

    1. 在您的日常开发系统上,将新源代码修订版本检入您的版本控制系统。
    2. 在您的单独构建系统上,获取最新版本的源代码管理系统。
    3. 在构建系统上构建项目;如果失败,请转到步骤1,并将缺少的文件从开发系统添加到版本控制系统
    4. 开始从您怀疑不需要的项目中删除(逐个)文件,然后重建直至失败。
    5. 当构建失败时,从版本控制系统恢复该特定文件,然后继续使用下一个候选者执行第3步
    6. 当构建成功时,您拥有最少的文件集。
    7. 现在对版本控制系统和构建计算机中的文件进行不同的概述。
    8. 将您的版本控制系统中但未在您的构建计算机上的文件标记为已弃用或已删除。
    9. 大多数版本控制系统都有很好的方法来生成开发或构建系统上的文件与版本控制系统中的文件之间的差异(通常在您添加/删除/更新文件的每个历史时间点都是细粒度的版本控制系统)。

      您想要一个单独的构建系统(或两个独立的开发系统)的原因是您希望它们是独立的:您使用一个进行开发,另一个用于检查构建是否仍然正常。

      这是将来您可能希望将其扩展为持续集成系统的第一步(运行单元测试,自动创建产品设置等等)。

      - 的Jeroen

答案 2 :(得分:1)

我不确定您是否询问版本控制或如何确定您已获得所有文件。

我偶尔运行的一个有用的实用程序是一个程序,它为我的dcu输出文件夹中的所有文件创建一个DirList。将扩展名从.dcu更改为.pas为我提供了所有源代码文件的列表。

当然它错过了.inc文件和其他非.pas文件,但是这种想法可能会对你有所帮助吗?

这个实用程序对我的价值在于,第二个内务实用程序会在源代码树中列出所有没有相应.dcu文件的.pas文件。这(在完全编译所有程序之后)通常会显示一些不再使用的“垃圾”.pas文件。

答案 3 :(得分:1)

要获取编译为可执行文件的所有单元的列表,可以让编译器生成MAP文件。该文件将包含所有使用单位的条目。