Perforce责备

cdl*_*ary 49 svn version-control perforce

在命令行上是否有相当于svn对Perforce的责任?p4 annotate不显示用户名 - 仅更改集编号(没有祖先历史记录!).

我目前必须通过祖先跟踪代码并与文件日志进行比较,并且必须有一种更简单的方法 - 也许是F/OSS实用程序?

Mar*_*ark 56

我并不过分熟悉blame命令,但我认为你正在寻找改变特定代码行的人.最简单的方法是使用Perforce的p4win和p4v提供的"时间间隔视图".

此工具使用注释和一些其他命令为您提供代码行的视图.您可以看到谁修改了代码,从代码行插入或删除的代码等.

但它不是命令行.我在帮助中简要检查了一下,似乎没有办法直接从p4win或p4v调用启动时间推移视图.可能会有...我会进一步检查......

编辑:我检查了支持,您可以通过p4v启动游戏中时光倒流视图,如下所示:

p4v.exe -cmd "annotate //<path/to/file>"
Run Code Online (Sandbox Code Playgroud)

HTH.

  • 你好.确切的语法是p4v -cmd"annotate <path_to_file>".路径可以是仓库或本地. (7认同)
  • 即使您使用P4Win,您也必须安装P4V才能访问延时功能.完成后,"延时视图..."将出现在文件上下文菜单中. (2认同)
  • 请注意,p4v timelapse视图确实_not_显示合并/集成.因此,如果从另一个分支复制/集成文件,则延时视图不会显示该历史记录.我刚发现:). (2认同)

Ala*_*lan 10

试着看看我认为可以为您提供所需内容的几种工具:

1)Bob Sidebotham和Jonathan Kamens的p4pr Perl脚本.

2)Emacs Perforce接口有一个命令'p4-print-with-rev-history'(绑定到`Cx p V').


Arn*_*lca 5

我用一个小脚本来指责

#!/bin/bash

FILE="$1"
LINE="$2"

p4 annotate -cq "${FILE}" | sed "${LINE}q;d" | cut -f1 -d: | xargs p4 describe -s | sed -e '/Affected files/,$d'
Run Code Online (Sandbox Code Playgroud)

你可以将它挂钩到一些将传递文件名和行的编辑器.

有一个稍微复杂一些的版本在这里.