如何在远程服务器上使用php删除本地工作副本上隐藏的.svn文件夹?取消链接()权限被拒绝

如何在远程服务器上使用php删除本地工作副本上隐藏的.svn文件夹?取消链接()权限被拒绝,php,svn,Php,Svn,我的SVN存储库包含多个项目。每个项目都包含相同的结构,看起来像trunk->doc->log.txt。此日志文件包含修订之间所做的更改。 目前,我创建了一个php脚本,在运行服务器构建时执行。此php脚本将签出服务器本地目录中的log.txt文件C://../../../../doc/log.txt 它写入该文件,然后提交更改。当有人使用另一个项目运行服务器构建时,就会出现此问题。它试图将该项目的log.txt文件签出到同一目录中,我得到一个svn错误。提交更改后,我不再需要本地目录中的签出文

我的
SVN
存储库包含多个项目。每个项目都包含相同的结构,看起来像
trunk->doc->log.txt
。此
日志
文件包含修订之间所做的更改。 目前,我创建了一个
php
脚本,在运行服务器构建时执行。此
php脚本
将签出服务器本地目录中的
log.txt
文件<代码>C://../../../../doc/log.txt

它写入该文件,然后提交更改。当有人使用另一个项目运行服务器构建时,就会出现此问题。它试图将该项目的
log.txt
文件签出到同一目录中,我得到一个
svn错误
。提交更改后,我不再需要本地目录中的签出文件。我能想到的唯一选择是在签出新文件夹之前删除doc文件夹(仅在我的本地目录中,而不是repo中),以便以前的
log.txt
不再存在

我发现了一个
递归算法
,它删除了所有带有
unlink()
的文件和带有
rmdir
的目录。该算法运行良好。不幸的是,隐藏的
.svn
文件没有
取消链接()
,并出现权限拒绝错误。在所有文件和父目录上使用
fileperms()
会返回
16895
,在
octall
中转换为
40777
,因此我相信他们拥有完全权限。但我相信用户的权限没有修改/写入权限。是否有适当的方法删除我的服务器工作副本上隐藏的
.svn文件夹
?或者,如果有人能想出更好的方法来做到这一点。因此,如果
AprojA/doc/log.txt
已经在本地目录中,并且我签出了
BprojB/doc/log.txt
。有没有办法用另一个项目的日志文件签出并覆盖现有的
log.txt
--力参数似乎对我没什么作用


我也有一个模糊的想法,也许是用-depth=empty检查顶级svn回购。然后svn只更新每个项目的日志txt文件。因此,不要使用
签出->提交更改->删除
。我可以让所有的
log.txt
文件都可用。但问题是它们都有相同的文件夹和文件名
(doc/log.txt)
。对这一切还是比较新的,所以我非常感谢任何形式的反馈。

u可以使用通配符删除扩展名为的日志文件。因此,将删除选定文件夹下具有相同扩展名的所有文件