perforce:如何找到删除文件行的更改列表?

时间:2013-12-06 04:17:50

标签: perforce

所以我发现有人从“全局”文件中删除了一行,删除很可能是错误的。我需要跟踪哪个更改列表删除了,但它是一个全局文件,每个人都从许多分支编辑它。我随机挑了几个,他们都有那条线。有任何建议要更系统地做到这一点吗?

2 个答案:

答案 0 :(得分:2)

Time-lapse view是一个非常好的工具。您可以查看this video以更好地了解其工作原理。

答案 1 :(得分:0)

我建议收集文件的所有更改#,然后使用二进制搜索,抓取每个更改,并为您要查找的特定行重点,以及字符' - '或'<' (取决于你的du设置)在第一行。

以下行将为您提供所有更改:

p4 filelog yourfile.cpp | egrep "^... \#[0-9]+ change" | cut '-d ' -f 4

如果您不想手动执行二进制搜索或编写代码以在shell或其他任何内容中执行此操作,那么我会建议使用暴力,并扫描搜索该行的所有更改。 例如:

p4 filelog yourfile.cpp | egrep "^... \#[0-9]+ change" | cut '-d ' -f 4 | while read change ; do
    p4 describe $change | egrep "^<.*your line that was deleted"
    [ $? = 0 ] && echo $change
done

我的例子中的输出: &LT; / *删除未找到的写入确认记录*如果找到* / 234039

其中234039是包含删除的更改编号。

我希望它会有所帮助。