我正在使用perl Subversion绑定(SVN :: Client等)。如果我有一个目录路径,我如何确定该路径是否是工作副本的一部分 - 它必须很快。
在svn 1.7之前,可以检查路径/ .svn目录,但很明显,在svn 1.7中没有一个更高级别的.svn目录。我不能只为.svn向上递送目录,因为在远程工作副本下的非跟踪目录中会失败。
$SVN::Error::handler = undef;
$client->status2($path, undef, sub {
my ($path,$wc_status2) = @_;
if ($wc_status2->entry()) { it exists }
似乎很接近,但是如果路径在工作副本之外,则返回错误(我抑制),并且基准测试相当慢。我怀疑我的阅读中缺少一些基本功能。非常感谢。
答案 0 :(得分:0)
我不熟悉SVN :: Client,但svn info
给出了Working Copy Root Path
。也许可以使用SVN :: Client :: info访问它。实际上,如果您只对目录是否在Subversion控件下感兴趣,svn info
输出可能就足够了。