我正在处理一个大型的C#项目,使用Crystal Reports生成pdf、excel和word报告文件。该项目在SVN存储库中,我们有主干和一个单独的分支。每个星期我们都会将主干合并到分支中,但由于.rpt文件的二进制内容,合并起来会有问题。是否有工具或最佳实践来处理这种情况?
对于我以前的一个项目,我曾要求CR开发人员将报告描述添加到SVN存储库中。您可以从“导出为>报告定义”菜单或类似菜单中在Crystal Report中生成它们。它们是代表报告结构的文本文件。然后,使用一些预提交挂钩脚本,您可以要求每个rpt文件都存在这样的定义,无论是新增还是修改。您还应该能够使用类似RptToXml或ReportMiner提供的差异工具之类的东西自动化此类元数据生成。这至少解决了报告文件的diff问题。对于合并部分,也许您可以找到一种导入报告定义的方法,但至少您应该能够知道潜在冲突来自何处。