【问题标题】:In Perforce command line, how to diff a file reopened for add?在 Perforce 命令行中,如何区分重新打开的文件以进行添加?
【发布时间】:2009-11-20 15:39:03
【问题描述】:

假设您打开一个文件以分支到另一个地方(不提交),然后重新打开它以添加并进行一些编辑。我想将此编辑后的版本与脚本中的分支源进行比较。

p4 diff2 不好,因为其中一个版本在客户端中。

p4 diff 不好,因为它只能与 depot 中文件的“对应”版本进行比较,而分支的未提交文件还没有。

有没有办法,或者是唯一的选择只是抓取这两个文件并使用第三方工具对它们进行比较?

【问题讨论】:

    标签: perforce


    【解决方案1】:

    可悲的是,您在这里赚钱,您需要使用第三方差异工具来执行此操作,因为正如您正确指出的那样,在您将初始集成提交到仓库之前,它不会没有要比较的副本。如果您沿着这条路线走,您显然无法直接访问软件仓库中的文件,您需要在客户端 PC 上拥有这两个文件并明确指定它们的路径。

    【讨论】:

    • 感谢您确认这一点...希望我错过了一些明显的东西,但遗憾的是在这种情况下没有。
    【解决方案2】:

    nineside 是正确的,您需要在客户端 PC 上拥有这两个文件。

    但有捷径:

    如果您使用的是 P4V,请从上下文或工具菜单中选择“Diff Against...”。对于第一个路径,选择旧位置并选择“最新版本”。对于第二个路径,选择新位置并选择“本地磁盘上的工作区修订版”。

    如果您可以让两个文件出现在同一个窗格中并按住 Ctrl 键单击以进行多选,则选择路径的工作会变得更加容易。例如使用工作区树窗格或暂时打开源文件进行编辑,以便将其列在待处理文件窗格中。

    P4V 通过在 depot 文件上运行“p4 print -o”以在客户端 PC 上创建一个临时文件,然后将该临时文件传递给 diff 应用程序来完成此操作。如果您需要文本差异,您可以配置 P4V 以运行文本差异应用程序,或者运行 p4 print -o 并自己进行差异。

    【讨论】:

    • 感谢您的努力,但我没有使用 P4V - 正如问题所提到的(在标题和正文中),我需要从脚本运行它。我已经确定了抓取两个文件并调用外部工具的手动解决方案 - 差异与 p4 差异略有不同,但这是可以接受的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 1970-01-01
    • 2018-07-18
    相关资源
    最近更新 更多