在perforce中查看流历史记录
是否有办法查看在perforce中的流上下文中创建的所有变更列表?我对命令行方式感兴趣在perforce中查看流历史记录,perforce,Perforce,是否有办法查看在perforce中的流上下文中创建的所有变更列表?我对命令行方式感兴趣 类似的问题:假设我有一个流和它的父流。有可能找到他们最新共同祖先的变更列表吗 如果您不仅想查看本地做出的更改,还想查看通过导入包含的更改,最简单的方法是切换到该流并在当前客户端的上下文中运行查询: p4 switch STREAMNAME p4 changes //CLIENTNAME/... 本地所做的更改通常位于与流名称匹配的仓库路径中(例如//stream/STREAMNAME/…),但如果使用imp
类似的问题:假设我有一个流和它的父流。有可能找到他们最新共同祖先的变更列表吗 如果您不仅想查看本地做出的更改,还想查看通过导入包含的更改,最简单的方法是切换到该流并在当前客户端的上下文中运行查询:
p4 switch STREAMNAME
p4 changes //CLIENTNAME/...
本地所做的更改通常位于与流名称匹配的仓库路径中(例如//stream/STREAMNAME/…
),但如果使用import+
,则不一定如此(尽管如果使用import+
,则在特定流上下文中所做更改的概念完全消失)
找到一个“最新共同祖先”的决定因素,取决于你想用这个祖先做什么,你认为它是一个“共同祖先”,甚至是什么“最新的”意思(最新的词)意味着最新的时间顺序,但这并不一定是“最接近”的“最共同的”。一些可能有用的一般方法:
p4 istat
命令查看上次合并/复制操作发生的时间以及每个操作所包含的最新更改p4 changes-i
命令查看它包含哪些变更列表(包括集成的祖先),并使用diff查找公共祖先p4 integrate-o
命令查看每个文件的合并基础,并获取与p4更改
或p4文件
相关的更改列表感谢Sam Stafford指出这一点 首次使用
p4 interchanges -S <child_stream_name>
p4互通式立交-S
这将为您提供尚未复制到父分支的更改列表
要查看差异,您可以在列表中的每个更改列表上使用“p4 description”。
p4 changes//Stream/name/…
是第一个问题的良好起点,而p4 interchanges
是第二个问题的良好起点。关于最新的常见问题,使用场景如下:我有一个子流(假设我正在实现一个功能),我希望看到在该流上所做的更改,但这些更改尚未复制到父流。所谓“最新的共同祖先”,我指的是父流的最新变更列表,该变更列表已合并到子流。如果我能找到变更列表,我可以更新到该快照,然后将其与孩子的头部进行比较。等等——你的问题一直都是“我如何构建自己版本的p4 interchanges
命令?”你为什么要这样做,而不仅仅是使用现有的命令?:)我提出一个问题,因为我不知道现有的命令是什么。很简单:在子流上有一个特性。我希望能够看到已经完成的工作(即具有最新共同祖先或任何等效物的差异),以及理想情况下导致这些更改的提交顺序。p4交换
是您需要的命令。它按照我在回答第二个问题的第3部分中的建议,以您在第一个问题中要求的形式给出输出,并且还实现了您需要在脚本中编写的逻辑。