You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为目录设置字面量"*"作为svn:ignore属性值

如何给SVN目录设置svn:ignore属性为字面量*?

可行解决方案

有两种可靠方式能绕过SVN自身的通配符解析,直接设置*作为ignore值:

  1. 通过标准输入传递值
    利用-F -参数让SVN从标准输入读取属性值,避免参数被解析:

    • Linux/macOS终端:
      svn propset svn:ignore -F - .
      
      执行后输入*,按Ctrl+D结束输入。
    • Windows cmd:
      echo * | svn propset svn:ignore -F - .
      
    • PowerShell:
      "*" | svn propset svn:ignore -F - .
      
  2. 使用--property-value参数
    SVN的propset命令支持--property-value(简写-P)参数,直接传递字面量属性值,不会触发通配符解析:

    svn propset svn:ignore --property-value "*" .
    

    或者用简写形式:

    svn ps svn:ignore -P "*" .
    

为什么之前的命令失效?

你遇到的问题核心是SVN自身会对位置参数中的*做通配符解析,哪怕shell(比如cmd、PowerShell)没有展开它,SVN也会把*当作匹配当前目录文件的通配符,导致最终设置的是文件扩展名而非字面量*。嵌套引号的方式要么没绕过SVN的解析,要么错误地把引号也包含进了属性值里。

TortoiseSVN的实现逻辑

TortoiseSVN是通过直接调用SVN的底层API来设置属性的,完全跳过了命令行参数的解析流程,所以在GUI中输入*时,会直接把这个字面量传递给SVN,自然不会有通配符展开的问题。

内容的提问来源于stack exchange,提问作者aetonsi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 19:23:18