版本控制 - TortoiseSVN(颠覆) - ConfigDir 配置中的隧道不起作用

问题描述 投票:0回答:1

配置文件的

[tunnels]
部分中的隧道不起作用。

1. TortoiseSVN 上下文菜单 -> 设置对话框 -> 高级
将 ConfigDir 设置为 C:xample_dir

2. 在 C: xample_dir 中编辑配置(文件)

[tunnels]
alt-ssh = ssh -i C:\example\filepath\to\private-key

3. 在命令提示符下使用

svn list
命令测试隧道。

svn list svn+alt-ssh://some_domain.xyz/C:/path/to/repository

预期的存储库文件列表,但显示以下错误:
svn:E170013:无法连接到 URL 处的存储库...
svn:E125002:未定义的隧道方案“alt-ssh”

如果在默认配置文件中设置了相同的隧道

alt-ssh
,则相同的
svn list...
命令有效。

我还测试了 ConfigDir 配置文件是否正常工作:在 ConfigDir 指向的配置文件中,我更改了

global-ignores
部分中的
[miscellany]
并且它可以工作。

svn tortoisesvn
1个回答
0
投票

我想我已经确定了我的误会。显然,更改配置文件的目录是针对每个使用 svn API 的客户端应用程序,而不是针对每个 svn 安装实例。

例如,TortoiseSvn shell UI 似乎确实在配置文件中找到了隧道设置:

C:\example_dir\config

但是,设置 TortoiseSvn ConfigDir 值不会更改 svn 命令行的配置文件的位置。 svn 命令行是基本 svn 包的一部分。例如,

snv list ...
命令行仍然使用默认配置文件位置,因此它看不到隧道设置。命令行确实接受
--config-dir <dir>
arg。

例如,

svn list --config-dir C:\example_dir svn+alt-ssh://some_domain.xyz/C:/path/to/repository

有效。

--config-dir
可用于许多 svn 命令行命令,但是,基本 svn 包似乎没有永久更改配置文件目录的选项。使用基本 svn API 的客户端应用程序(例如 TortoiseSvn)可以提供此功能。例如,.NET Rider 还有一个选项可以为 svn 配置文件指定一个非默认目录,当我尝试它时,它起作用了,这就是我发现这一点的原因。

https://svnbook.red-bean.com/nightly/en/svn.ref.svn.html#svn.ref.svn.sw

(在我原来的问题中,当我说我已经通过更改

global-ignores
证明配置目录适用于TortoiseSvn时,我使用了TortoiseSvn UI,所以它确实使用了ConfigDir设置。我不知道该命令线也没有使用它,因为我没有使用命令行测试
global-ignores
[就像我为
list
命令])。

总结和简化可能会有点混乱:使用 svn API 的客户端应用程序(例如 TortoiseSvn、VisualSvn、.NET Rider)可以提供更改配置文件位置的设置。但是,该配置文件位置不会被基本 svn 包使用,也不会影响 svn 命令行命令。

© www.soinside.com 2019 - 2024. All rights reserved.