在Perforce中,递归地列出给定父流的所有子流

在Perforce中,递归地列出给定父流的所有子流,perforce,Perforce,给定一个父流,我可以使用以下命令找到它的直接子流: p4 streams -F "Parent=<parent_stream_path>" p4流-F“父级=” 但是,有没有一种方法可以递归地列出给定父流的所有子流?为什么不用首选语言编写一个脚本来实现这一点 从父母开始。以父元素作为唯一元素初始化队列。使用p4流获取子流列表。将它们存储在队列中,并将第一个节点(父节点)附加到不同的列表中。将每个子节点作为父节点重复此过程。基本上,a是以父节点作为根节点的。我编写了一个小的pe

给定一个父流,我可以使用以下命令找到它的直接子流:

p4 streams -F "Parent=<parent_stream_path>"  
p4流-F“父级=”

但是,有没有一种方法可以递归地列出给定父流的所有子流?

为什么不用首选语言编写一个脚本来实现这一点


从父母开始。以父元素作为唯一元素初始化队列。使用
p4流
获取子流列表。将它们存储在队列中,并将第一个节点(父节点)附加到不同的列表中。将每个子节点作为父节点重复此过程。基本上,a是以父节点作为根节点的。

我编写了一个小的perl函数来获取子节点列表。 像这样的:

sub getChildrenList {
  my $child = shift;
  $child =~ s/^\s+|\s+$//g;
  my $get_children_cmd="p4 streams -F \"Parent=<parent_stream_path>\"";
  my @children= `$get_children_cmd`;
  if (@children != 0){
  foreach my $child_name (@children){
    getChildrenList($child_name);
    }
  }
  push(@children_list,$child);
}
子getChildrenList{
我的$child=shift;
$child=~s/^\s+|\s+$//g;
my$get\u children\u cmd=“p4 streams-F\”Parent=\”;
我的@children=`$get\u children\u cmd`;
如果(@children!=0){
foreach我的$child\u名称(@children){
getChildrenList($child\u name);
}
}
推送(@children\u list,$child);
}