Perforce 如何检测文件夹是否受性能/源代码管理

Perforce 如何检测文件夹是否受性能/源代码管理,perforce,clearcase,Perforce,Clearcase,我需要查明文件/文件夹是否受特定的源代码管理。 最简单的方法是找到一些隐藏的文件夹。(这并不保证partifical文件受源代码管理,但很可能表示使用了此源代码管理) SVN、GIT非常简单,因为它们有隐藏的文件夹 但是我找不到Perforce和ClearCase相同的东西。有没有通用的方法来理解在这些特殊情况下使用了什么VSC?对于ClearCase,您可以在(快照)视图的根目录中找到 如果文件位于M:\(Windows)或/view/vobs(Unix)下,则无需查找隐藏的文件或目录:您知道

我需要查明文件/文件夹是否受特定的源代码管理。 最简单的方法是找到一些隐藏的文件夹。(这并不保证partifical文件受源代码管理,但很可能表示使用了此源代码管理)

SVN、GIT非常简单,因为它们有隐藏的文件夹


但是我找不到Perforce和ClearCase相同的东西。有没有通用的方法来理解在这些特殊情况下使用了什么VSC?

对于ClearCase,您可以在(快照)视图的根目录中找到

如果文件位于M:\(Windows)或/view/vobs(Unix)下,则无需查找隐藏的文件或目录:您知道这是一个动态视图

另一种方法是在文件的父目录中执行:

cleartool lsview -cview.
如果该目录位于视图中,则该命令将返回其名称


类似地,我认为您可以运行类似于或的命令,并且它不会返回错误,很可能您在Perforce工作区中。

对于ClearCase,您将在(快照)视图的根目录中找到

如果文件位于M:\(Windows)或/view/vobs(Unix)下,则无需查找隐藏的文件或目录:您知道这是一个动态视图

另一种方法是在文件的父目录中执行:

cleartool lsview -cview.
如果该目录位于视图中,则该命令将返回其名称


类似地,我建议您可以运行或之类的命令,并且它不会返回错误,很可能您处于Perforce工作区。

Perforce不会丢弃驱动器,而是将信息保留在服务器上。此外,文件可以映射到不同的结构中,并与非受控文件混合,因此您无法通过查看文件本身来确定这一点

然而,你可以简单地问Perforce。例如,在CLI上:

P4 fstat FILENAME

如果文件受源代码管理,将向您提供有关该文件的信息。

Perforce不会丢弃驱动器,而是将该信息保留在服务器上。此外,文件可以映射到不同的结构中,并与非受控文件混合,因此您无法通过查看文件本身来确定这一点

然而,你可以简单地问Perforce。例如,在CLI上:

P4 fstat FILENAME

如果文件处于源代码管理下,将为您提供有关该文件的信息。

如果您需要为Perforce编写脚本,则有一个选项(-s)可以简化操作(因为p4的退出代码并不表示Perforce命令的成功或失败)。因此,对于bourne-like shells,类似这样的东西应该会起作用:

if p4 -s fstat FILENAME | grep 'exit: 0' >/dev/null 2>&1 ; then
  echo "Perforce knows this file"
else
  echo "Perforce don't care"
fi 

如果您需要为Perforce编写脚本,那么有一个选项(-s)可以简化操作(因为p4的退出代码并不表示Perforce命令的成功或失败)。因此,对于bourne-like shells,类似这样的东西应该会起作用:

if p4 -s fstat FILENAME | grep 'exit: 0' >/dev/null 2>&1 ; then
  echo "Perforce knows this file"
else
  echo "Perforce don't care"
fi 

谢谢你的解释。如果目录不在视图中,cleartool是否退出并返回代码?@user456305是,如果出现任何错误,包括目录不在视图中,则退出状态设置为1。感谢您的解释。如果目录不是视图,cleartool是否会退出并返回代码?@user456305是,如果存在任何错误,包括目录不在视图中,则退出状态设置为1。