【发布时间】:2012-12-02 13:21:30
【问题描述】:
我正在尝试通过 SVN+SSH 从 Windows Server 2003 机器上设置一个预定的 Subversion 提交作为一项任务。我希望以系统用户身份执行提交脚本。所以我猜,为了让它工作,我也需要将存储库签出为 SYSTEM - 但到目前为止我无法实现它。
我已经能够使用我自己的用户通过 SSH 实现上述目标。我做了以下事情:
-
我在本地 subversion 配置中添加了一个 [tunnels] 实体:
ssh = plink.exe -i "C:/Keys/my_key.ppk"
将密钥添加到运行 Subversion 的服务器上的
authorized_keys文件中-
我使用如下脚本检查了存储库:
svn co svn+ssh://user@server/path/to/repo/ C:\Local\Project\Path
我现在想为 SYSTEM 用户重现上述步骤,以便以后能够运行预定的提交。我面临的问题是我不知道如何将存储库签出为 SYSTEM,因为:
- 我不知道以 SYSTEM 身份签出存储库的语法
- 我不知道全局(或系统的)Subversion 配置存储在 Windows Server 2003 上的什么位置。我已经尝试过:
C:\Documents and Settings\Default User\Application Data\Subversion和C:\Documents and Settings\Administrator\Application Data\Subversion,但没有成功。
我还在某处读到我可能可以使用svn switch 来满足我的需求,但不知道如何将svn switch 用作SYSTEM。我也考虑过为 svn check-out 或 switch 编写脚本并将它们作为 SYSTEM 运行,但是我仍然需要全局 SVN 配置来添加 my_key.ppk。
我希望上面的描述足够清楚。我已经为此苦苦挣扎了很长时间,并且自己总结起来也遇到了问题。任何提示表示赞赏。
【问题讨论】:
-
我不明白为什么您需要以 SYSTEM 身份签出才能以 SYSTEM 身份提交。 ssh 用户名(user@server)不需要匹配 Windows 的用户名,恕我直言。 SYSTEM 唯一需要的是对工作副本的读/写访问权限。
-
Windows SYSTEM 用户拥有所有必要的权限。关键是,我不知道如何在 Windows Server 2003 中为 SYSTEM 用户设置 [tunnels] 配置,以便能够在命令行中使用 SVN+SSH 身份验证。关于您的第一个陈述:我也不明白为什么我需要以 SYSTEM 身份签出才能以 SYSTEM 身份提交,但这似乎是 Subversion SVN+SSH 的情况。或者我只是不知道正确的语法,如问题中所述。
标签: windows svn ssh windows-server-2003