SVN Repository Dictated Configuration:模式覆盖未按预期工作
SVN Repository Dictated Configuration: pattern overriding not working as expected
我有一个我不能更改的 SVN 配置文件。此配置文件定义了一些自动 属性 分配的规则。这是配置文件的相关部分:
enable-auto-props = yes
[auto-props]
*.xlsm = svn:needs-lock=*
对于一个特定的存储库,我不想将 属性 svn:needs-lock
分配给 *.xlsm
文件。为此,我想使用 "Repository Dictated Configuration"。我将值 *.xlsm = svn:mime-type=application/vnd.ms-excel
的 属性 svn:auto-props
分配给存储库根目录。
根据this信息,属性svn:auto-props
中的模式*.xlsm
覆盖了配置文件中的模式,只要我将文件添加到相应的存储库根目录及其 children.
示例:
/ Repository root with the "svn:auto-props" property
assigned, as described above.
/file.xlsm The file I want to add to the repo.
添加文件 file.xlsm
时,我希望该文件的属性是
svn:mime-type application/vnd.ms-excel
因为存储库根目录中的 svn:auto-props
覆盖了我的配置文件中的模式。但是,规则似乎已合并,file.xlsm
的结果属性为:
svn:mime-type application/vnd.ms-excel
svn:needs-lock *
我对覆盖的理解是用一个规则替换另一个规则,而不是同时应用两个规则。我怎样才能达到我期望的结果?
我是 运行 Windows 10 和 SVN 1.9.5:
$ svn --version
svn, version 1.9.5 (r1770682)
compiled Nov 26 2016, 14:22:31 on x86-microsoft-windows
Copyright (C) 2016 The Apache Software Foundation.
更新:我已经安装了最新版本的SVN,但没有解决问题。
$ svn --version
svn, version 1.11.1 (r1850623)
compiled Jan 9 2019, 19:28:50 on x86-microsoft-windows
Copyright (C) 2019 The Apache Software Foundation.
我理解在这种情况下错误覆盖的行为。
不是模式被覆盖,而是属性被覆盖。这意味着如果我定义了一个 属性 两次,那么重写适用于 属性 的值,而不适用于整个模式。
不幸的是,覆盖目前已被破坏。参见 https://issues.apache.org/jira/browse/SVN-4699
此外,如果设置一次,则无法覆盖 svn:needs-lock
。 svn:needs-lock
没有任何价值,属性 代表它自己。我只能通过定义一个新值来覆盖 属性(我仍然可以为 属性 分配任何值,但这不会改变行为)。
这对我来说意味着:我在我的 SVN 配置文件中定义了 svn:needs-lock
。 svn:needs-lock
现已启用。我无法重写此 属性 使其被删除。
我的问题无解
我有一个我不能更改的 SVN 配置文件。此配置文件定义了一些自动 属性 分配的规则。这是配置文件的相关部分:
enable-auto-props = yes
[auto-props]
*.xlsm = svn:needs-lock=*
对于一个特定的存储库,我不想将 属性 svn:needs-lock
分配给 *.xlsm
文件。为此,我想使用 "Repository Dictated Configuration"。我将值 *.xlsm = svn:mime-type=application/vnd.ms-excel
的 属性 svn:auto-props
分配给存储库根目录。
根据this信息,属性svn:auto-props
中的模式*.xlsm
覆盖了配置文件中的模式,只要我将文件添加到相应的存储库根目录及其 children.
示例:
/ Repository root with the "svn:auto-props" property
assigned, as described above.
/file.xlsm The file I want to add to the repo.
添加文件 file.xlsm
时,我希望该文件的属性是
svn:mime-type application/vnd.ms-excel
因为存储库根目录中的 svn:auto-props
覆盖了我的配置文件中的模式。但是,规则似乎已合并,file.xlsm
的结果属性为:
svn:mime-type application/vnd.ms-excel
svn:needs-lock *
我对覆盖的理解是用一个规则替换另一个规则,而不是同时应用两个规则。我怎样才能达到我期望的结果?
我是 运行 Windows 10 和 SVN 1.9.5:
$ svn --version
svn, version 1.9.5 (r1770682)
compiled Nov 26 2016, 14:22:31 on x86-microsoft-windows
Copyright (C) 2016 The Apache Software Foundation.
更新:我已经安装了最新版本的SVN,但没有解决问题。
$ svn --version
svn, version 1.11.1 (r1850623)
compiled Jan 9 2019, 19:28:50 on x86-microsoft-windows
Copyright (C) 2019 The Apache Software Foundation.
我理解在这种情况下错误覆盖的行为。
不是模式被覆盖,而是属性被覆盖。这意味着如果我定义了一个 属性 两次,那么重写适用于 属性 的值,而不适用于整个模式。
不幸的是,覆盖目前已被破坏。参见 https://issues.apache.org/jira/browse/SVN-4699
此外,如果设置一次,则无法覆盖 svn:needs-lock
。 svn:needs-lock
没有任何价值,属性 代表它自己。我只能通过定义一个新值来覆盖 属性(我仍然可以为 属性 分配任何值,但这不会改变行为)。
这对我来说意味着:我在我的 SVN 配置文件中定义了 svn:needs-lock
。 svn:needs-lock
现已启用。我无法重写此 属性 使其被删除。
我的问题无解