我有一个自动集成触发器设置,可以在同一产品中的大约15个分支之间进行集成。我的仓库设置如
//Product/dev/main/...
//Product/dev/v1.0/...
//Product/releases/v1.0.0/...
//Product/releases/v1.1.0/...
等。这很容易整合。我的触发器在这些库路径上进行搜索和替换,以便从一个路径集成到另一个路径。它通过Jira中的子任务获取这些路径。现在其他项目也想要同样的东西。问题不是所有项目都遵循相同的结构。有些更像是
//ProductB/SubProject/dev/main/...
//ProductB/SubProject/dev/v1.0/...
//ProductB/releases/v1.0.0/...
//ProductB/releases/v1.1.0/...
所以我不能使用相同的搜索和替换方法,因为它可能在项目之间有所不同。我希望有人可能会使用我可以使用的集成技巧。 Branchspecs不吸引我,因为我们有超过18种产品,有些产品有超过15个分支机构。因此,如果我为产品创建一个新分支,我必须创建16个分支规范。可行,但痛苦。
答案 0 :(得分:1)
如果我理解正确,所有//productB
个分支都有一个共同的祖先,对吧?
我认为你可以通过编程方式调用p4 filelog -i
并解析输出以查看它所属的位置。
-i标志包括继承的文件历史记录。如果文件是由。创建的 分支(使用'p4 integrate'),filelog列出了修订版 文件的祖先直到导致指定的分支点 修订。通过重命名(使用'p4 move')继承的文件历史记录是 无论是否指定了-i,都会始终显示。
答案 1 :(得分:0)
捕获此高级别关系(合并源和目标)必须在分支规范或某种配置文件中捕获。
今年晚些时候新的流功能可用后,两个代码行之间的父/子关系将直接在Perforce中捕获,使自动合并脚本更容易编写。