【发布时间】:2010-10-28 10:31:25
【问题描述】:
我们有一个脚本可以从 Subversion 工作副本中的所有文件夹中删除 svn:mergeinfo 属性,但不会删除工作副本根目录本身。它目前是一个通过单独的批处理文件调用的 NAnt 构建脚本,所以我试图用更简单的 PowerShell 脚本替换它。我已经进行了三次尝试,从幼稚到稍微复杂一点。这三个都不符合我的标准,输出property 'svn:mergeinfo' deleted from '.'.
检查工作副本根目录的 SVN 属性表明 svn:mergeinfo 属性确实已从该文件夹中删除,这不是我想要的。每个版本都设计为从工作副本根目录运行。
尝试 1:
# I understand why this one fails, it's a poor attempt.
Get-ChildItem -Recurse | svn propdel svn:mergeinfo -R $_
尝试 2:
# This one correctly lists everything except the working copy root, but
# still removes the svn:mergeinfo property from the working copy root.
Get-ChildItem -Recurse -Exclude $pwd | svn propdel svn:mergeinfo -R $_
尝试 3:
# Again, this one works fine until the svn propdel is added.
Get-ChildItem | ForEach-Object { ls -R $_ } | svn propdel svn:mergeinfo -R $_
对我的逻辑缺陷在哪里有任何想法吗?
【问题讨论】:
标签: svn powershell