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

SubGit:如何停止根目录属性同步?

停止SubGit同步自身内部根目录属性的解决方案

我之前帮很多用户处理过这类问题——SubGit自带的subgit:lock这类内部属性是用来跟踪同步状态的元数据,完全不需要同步到SVN或GitLab仓库里。下面是具体的解决步骤:

配置步骤详解

  1. 打开SubGit配置文件
    进入你的中间Git仓库,找到位于subgit/config的配置文件,用文本编辑器打开它。

  2. 添加属性过滤规则
    在配置文件中找到[svn]区块(如果没有就手动添加),然后加入propertyFilter配置项,明确排除所有以subgit:开头的属性:

    [svn]
        propertyFilter = -subgit:*
    

    这里的语法规则:-代表“排除”,subgit:*匹配所有以subgit:开头的属性。如果还有其他需要排除的内部属性,可以用逗号分隔,比如-subgit:*,-subgit:other-property:*。

  3. 应用配置并重启同步
    保存配置文件后,需要让SubGit重新加载配置。在仓库目录下执行以下命令之一即可:

    • 如果需要重新初始化同步设置:
      subgit install --reinstall
      
    • 如果同步进程已经在运行,只想重新加载配置:
      subgit sync --reconfigure
      

    执行后,新的过滤规则就会生效,SubGit再也不会同步这些内部属性了。

额外说明

  • 这个过滤规则是双向生效的:既会阻止Git端的subgit:*属性同步到SVN,也会阻止SVN端(如果存在的话)的同类属性同步到Git。
  • 如果这些属性已经同步到了你的SVN或GitLab仓库,需要手动清理:
    • 在SVN端,执行svn propdel subgit:lock /(根目录路径)删除属性,然后触发一次同步,GitLab端也会同步删除该属性。
    • 在GitLab端的仓库根目录,执行git update-index --remove-property subgit:lock .来移除该属性,之后推送到仓库即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:51:07