Merge 如何编写脚本Perforce以合并非冲突代码? 背景
我们有生成大部分代码的脚本Merge 如何编写脚本Perforce以合并非冲突代码? 背景,merge,perforce,Merge,Perforce,我们有生成大部分代码的脚本 我们不想使用脚本来生成所有代码 通常,我们会将此代码分开,但我们正在考虑生成代码部分的脚本,这些代码部分也将由程序员修改,例如函数/类定义,即首先解析指定函数参数和枚举的头文件,然后生成所有空函数 我们可以确保程序员永远不会修改脚本生成的代码 我们需要一种方法在脚本编辑后自动合并这些文件;e、 g.我们的输入定义文件已更新(外部),我们需要修改功能参数 方法 两个脚本:“上一个”和“当前”(相同) 修改“当前”并重新生成代码;“P4编辑”进入变更列表 合并代码: 2
干杯。与其将机器生成的代码与人工编写的代码合并到相同的源文件中,不如更改代码生成策略,以便工具生成超类代码,人类可以单独编写机器生成类的子类,这些子类重写必要的方法以提供所需的行为
这就是我过去进行此类开发的典型方式。根据jamesdlin的评论,我找到了实现我想要的东西的方法 新方法 一个脚本“当前” 将生成的文件添加到P4(始终为版本1)
即使在脚本多次迭代之后,这也应该有效。只要我能避免冲突,那么这应该是完全自动化的。
p4 sync&&p4 resolve-am
?我需要显式设置基本版本,并在没有用户输入的情况下完成合并。您不能执行p4 sync@CLN
要同步到特定的基本更改集,应用外部更改,然后同步+解析自动合并吗<代码>p4解析-am将在无需用户输入的情况下解析所有内容。但是,您还没有解释如果发生冲突会发生什么情况。@CLN可以是一个挂起的变更列表吗?请记住,当我重新运行脚本时,生成的代码将显示为删除所有用户代码,并且自动合并将提交该代码。我需要指定基本版本是其他版本,而不是以前签入Performce的版本。我可以确保不会发生冲突。我通常同意。我们正在考虑如何使用perforce来合并文件,以避免添加更多的基础设施,例如用户代码的include。p、 这是一个低级别的、接近实时的库,它需要生成数百个函数。虽然我们使用模板来最小化用户代码,但由于性能问题,不允许使用多态性。谢谢你的建议。