p4python:从仓库获取 diff2

2024-01-29

我想检索下一个命令的输出(其中 p4 是标准 perforce 客户端):

p4 diff2 //depot/...#1 //depot/...#2

在终端中它会产生如下内容:

==== //depot/bin/build.sh#1 (xtext) - //depot/bin/build.sh#2 (xtext) ==== content
1a2
> #added something 2
9c10
< fi---
> fi
==== //depot/bin/README#1 - <none> ===
==== //depot/bin/status_ok#1 - <none> ===

假设我有 python 中的下一个脚本:

from P4 import P4
p4 = P4()
p4.port = "1818"
p4.host = "localhost"
p4.user = "psih"
p4.client = "build_verificator_ws2"
p4.connect()
changes = p4.run_diff2("//depot/...#1", "//depot/...#2")
print changes
p4.disconnect()

执行 python 脚本后我会收到类似的信息:

[{'status': 'content', 'depotFile2': '//depot/bin/build.sh', 'rev': '1', 'rev2': '2', 'type': 'xtext', 'depotFile': '//depot/bin/build.sh', 'type2': 'xtext'}, {'status': 'left only', 'type': 'text', 'rev': '1', 'depotFile': '//depot/bin/README'}, {'status': 'left only', 'type': 'text', 'rev': '1', 'depotFile': '//depot/bin/status_ok'}]

仓库中包含修订但没有差异的文件列表。

有什么建议么?


答案是使用非标记响应:

changes = p4.run_diff2("//depot/...#1", "//depot/...#2", tagged=False)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

p4python:从仓库获取 diff2 的相关文章

  • 记一次老版本perforce的迁移历程

    当前现状 项目组的代码与资源是用perforce管理 已经有7年历史了 用的是perforce2015版本 仓库有2 4T perforce所在物理机只有3T空间 journal文件当前470G 每天增长3 4G 最大的问题 7年前的旧机器
  • 我可以将签出的文件集成到 perforce 上的不同分支中吗

    我们正在进行设计 为此我们在主分支中创建了类的骨架 现在 我们开始编码 为此我们有了一个新分支 因此 如果我可以将主分支中的所有新文件移动到新分支中 那就太好了 但是 我还无法签入它们 那么 是否可以集成已签出的变更列表 谢谢 Perfor
  • 解决方案资源管理器中文件上的蓝色问号

    当通过 P4VS 打开绑定到 Perforce 的解决方案时 我的 VS2012 解决方案资源管理器中的文件上经常出现蓝色问号 看起来有些东西无法与仓库 工作区 诸如此类的东西 同步 点击 刷新视图 总是能解决问题 但我每天都这样做已经厌倦
  • 如何在 Perforce 提交上触发 Jenkins 构建

    我将 Jenkins 与 Perforce 结合使用 我已经下载了P4插件 https wiki jenkins ci org display JENKINS P4 Plugin 我已经阅读了文档 但我仍然有点困惑 在我的 Jenkins
  • 对于 Git 用户来说是 Perforce 吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • `git-p4 clone` 失败“新提示......不包含......”

    我在 Windows 上运行 使用 windows p4 客户端 并通过 Cygwin 安装 git p4 客户端宣传其语法在不同平台上是如何规则的 所以这应该是很不错的 所以当我去git p4 clone verbose depot pa
  • 在 Unix 上的 Perforce 中,如何添加符号链接目录?

    我在 Unix 中创建了一个符号链接目录 我想将其添加到 perforce 这个问题与 Unix 上的符号链接有关 Windows 符号链接的行为与 Unix 非常不同 http en wikipedia org wiki Symbolic
  • ai_socktype 不支持 Servname

    我正在使用 Vagrant 运行 Centos 虚拟机 机器似乎运行正常 但是当我尝试同步 Perforce 时 我可以看到以下错误 vagrant vagrant c5 x86 64 perforce p4 sync f Perforce
  • 使用 Perforce 代替 Subversion 有什么好处?

    我的团队使用 SVN 已有几年了 我们现在可以选择切换到 Perforce 做出这样的转变会有什么好处 和陷阱 P4 keeps track of your working copy on the server This means tha
  • 如何防止 BOM 从 Perforce unicode 文件中删除

    我已将带有 NET 和 SQL 源的整个分支转换为带 BOM 的 UTF 8 将其 Perforce 文件类型更改为Unicode在同一操作中 编码差异可能听起来令人困惑 但在 Perforce 中 Unicode文件类型表示UTF 8文件
  • Git:如何防止提交仅为调试目的而修改的文件?

    很多时候 我喜欢修改一些代码行以使调试更容易 但实际上我并不想提交它们 例如 我将通过注释掉某些代码行来禁用一些烦人的功能 例如广告 或者我将日志级别和过滤器设置为仅我关心的级别 或者我将强制条件为 true这样我想要运行的代码块实际上一直
  • p4v 不显示签出文件的完整列表

    如果我在 p4v 中签出 4000 个文件 它不会显示默认更改列表中的完整文件列表 它只是说已签出 4000 个文件 有什么方法可以查看 4000 个文件的完整列表吗 通过 编辑 gt 首选项 菜单打开首选项对话框 单击 服务器数据 您将看
  • 有类似于 Perforce 的 git-svn 的东西吗?

    有没有一个工具可以让我获得与 Perforce 的 git svn 相同的功能 我在 github 上看到了 git p4 但看起来像是将源代码从 git 存储库导入到 Perforce 存储库 情况是否会反过来呢 它是用作常用工具还是仅用
  • 如何配置 Beyond Compare 以忽略注释中的 SCM 替换文本?

    我确实有一些被 SCM 替换的文本序列 在我的例子中是 Perforce 我确实想配置 BeyondCompare 将这些序列视为不重要的差异 以便在比较文件时能够忽略它们 就我而言 它是关于 Python 源文件的 序列看起来像 Id d
  • Perforce - 每次签到时都会收到电子邮件

    有没有办法让 Perforce 在每张支票上向您发送一封电子邮件到特定的存款机构 是的 输入 p4 user 查看您的用户配置 然后在 评论 下将您希望在签入时收到通知的仓库区域的文件规范放入其中 如下所示 Reviews depot my
  • 是否可以列出已集成到工作区的变更列表?

    实际上 是否可以获得已集成到工作区但未提交的更改列表的列表 关于什么p4 resolved 它不会告诉您确切的更改列表 但它会告诉您哪些文件版本 然后可以很容易地追溯到更改列表
  • Perforce 中的“协调离线工作”对我不起作用

    在适用于 32 bin Windows 的 Perforce Visual Client 2009 1 版本中 协调离线工作 选项会执行奇怪的操作 在应该显示 本地文件不在仓库中 的中间框中 我什么也没得到 我所看到的是 第一次协调文件夹时
  • 如何在 Perforce“仓库”之间移动文件夹

    前几天意外删除了我的 Svn 存储库后 我想尝试其他东西 因此我选择 Perforce 作为我当前的版本控制工具测试场 进展顺利 我很喜欢在 Perforce 中看到的东西 这是我的问题 我已将文件提交到 Perforce 服务器 然后使用
  • 强制重新应用变更列表

    我对 perforce 还很陌生 但有相当多的其他 VCS 经验 想象一下 您提交更改 更改列表 1 一位同事在同一分支上提交更改 意外地覆盖了您的更改 变更列表 2 我尝试集成 P4V 拒绝这样做 因为它已经集成 并寻找一种方法来生成我可
  • 将Perforce scm配置到maven项目中以获取最新的变更列表

    我正在将一个项目迁移到 Maven 因为我们习惯于始终通过 Perforce SCM 存储库中的最新更改编号来引用我们的构建 所以我希望能够提取此信息 我正在尝试通过以下资源配置 Maven scm 插件 http maven apache

随机推荐