【问题标题】:p4 integrate uncommitted changelist to same branchp4 将未提交的更改列表集成到同一分支
【发布时间】:2016-03-29 16:39:16
【问题描述】:

我将根据上次提交的更改编号从 perforce 同步并运行构建。我的要求是将一个特定的未提交更改列表集成到我从 perforce 同步我的代码的工作区。

我使用 p4 插件并通过 jenkins 构建

【问题讨论】:

  • 你问的是'p4 unshelve'命令的语法吗?
  • 是的,如果 p4 unshelve 可用于集成待处理的更改列表而无需提交。不知道搁置/取消搁置。请帮忙

标签: jenkins build continuous-integration perforce


【解决方案1】:

在 Perforce 中,更改列表可以处于挂起、搁置或提交状态。

挂起的更改列表的修改文件仅存储在完成工作的工作站上。

搁置和提交的变更列表存储在服务器上,并且可以由其他工作区、其他客户端工作站上的其他工作区访问。

提交的变更列表是永久性的(p4 obliterate 等管理命令除外)。

搁置的变更列表包含正在进行的工作的快照,当开发人员发出p4 shelve 命令时,将其复制到服务器。

搁置的更改列表可以取消搁置到不同的工作区,以便其他开发人员(或构建和测试机器)可以对搁置的更改进行试验(构建它们、运行测试等)

最初搁置更改列表的开发人员随后可以通过进一步的更改对其进行更新,或者可以将其删除,或者可以提交它。他们也可以简单地将其置于搁置状态。

要访问搁置的更改列表中包含的文件修改,请使用p4 unshelve 命令;您必须知道搁置的更改列表编号才能发出此命令(并且还有其他限制,如您所料:您必须将这些文件映射到您的工作区,保护表必须允许您打开这些文件以在您的工作区中进行编辑, 等等。)。当您运行p4 unshelve 命令时,文件将在您的工作区中打开,并且文件内容将设置为包含拥有该搁架的开发人员在创建搁架时使用的内容。

货架是不同用户(或自动化工具)在提交更改之前处理更改的好方法;我强烈建议您阅读有关 p4 shelvep4 unshelve 命令的文档并尝试使用它们,直到您对它们的工作方式感到满意为止。

【讨论】:

  • 我尝试了 p4 unshelve p4 unshelve -s 123445,其中 p4 的响应是“文件已取消搁置并打开以供编辑”。但更改并未反映在工作区中。只有文件的前一个现有版本可用
  • 如果相关文件已在您的工作区中打开,p4 unshelve 将安排解决。接下来试试p4 resolve
猜你喜欢
  • 1970-01-01
  • 2016-09-15
  • 2020-10-13
  • 2021-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
相关资源
最近更新 更多