【问题标题】:how to merge changelist into another branch using perforce java api如何使用 perforce java api 将变更列表合并到另一个分支
【发布时间】:2016-07-25 13:09:56
【问题描述】:

如何使用 perforce java api 将变更列表合并到另一个分支中。我已将一些更改提交到 Perforce 分支并创建了更改列表。现在我想使用 Perforce JAVA API 将该变更列表合并到另一个分支中。

我想知道是否有任何方法可以将单个更改列表合并到分支中,而不是使用 Perforce JAVA API 一个一个地合并文件。

【问题讨论】:

标签: java merge perforce changelist


【解决方案1】:

将更改列表添加到 IFileSpec 中,用作集成文件()调用的“来源”。

https://www.perforce.com/perforce/r15.1/manuals/p4java-javadoc/com/perforce/p4java/core/file/IFileSpec.html

p4 命令行中的等效项正在执行:

p4 integrate source/...@change,change target/...

而不是:

p4 integrate source/... target/...

【讨论】:

  • 我在 Java API 中使用了如下方法,但现在仍在工作:fromIFileSpec.setChangelistId(<changelist-Id-to-integrate>); 你能检查一下我在这里遗漏了什么吗?具体代码如下:file.setChangelistId(changelist.getId()); client.integrateFiles(file, toFiles, opts);
  • 试试FileSpec("source/...@change,change")?
  • 我将把需要整合的变更列表编号放在哪里?
  • 我试过了,但没有成功:- "source/...@change," + changelist.getId();
  • 现在我明白了。 "source/...@" + changelist.getId() + "," + changelist.getId();
【解决方案2】:

要使用 Perforce JAVA API 集成更改列表,请使用以下代码:

List<IFileSpec> fromFiles = FileSpecBuilder.makeFileSpecList("source/...@<changelist>,<changelist>");
List<IFileSpec> toFiles = FileSpecBuilder.makeFileSpecList("destination/...");
for (IFileSpec file : fromFiles) {
    client.integrateFiles(file, toFiles, opts);
    client.resolveFilesAuto(toFiles, resolvOptions);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    • 2010-12-15
    相关资源
    最近更新 更多