1

我正在通过 SSH 使用 SVN 存储库,我想使用 svn 命令行工具和 svn+ssh 架构,来自人们共享的通用帐户来构建相同的代码。

我们目前使用ant构建是这样的。您可以看到它提示输入具有 SVN 权限的用户/密码

<target name="update">
        <input message="username:" addproperty="username" />
        <input message="password:" addproperty="password" />

        <svn username="${username}" password="${password}">
            <update dir="${my.dir}"/>
        </svn>
</target>

当您尝试在命令行(在 Solaris 上)上使用 svn {command} svn+ssh/repo 时,ssh 默认使用当前用户。当前用户是一个通用帐户,没有进入 SVN 存储库的权限。

我希望 svn 提示我输入用户名和密码。

我知道我可以像这样将我的用户名传递给 svn

svn info svn+ssh://me@svn-server/apps/app

但是如果我想把它放在一个脚本中以供任何使用构建服务器的通用帐户的人使用,那就不好了

我想要的是提示但命令行,就像蚂蚁任务一样。

有没有办法做到这一点?

我已经尝试将 .subversion/auth 目录中的所有条目移开,并在 .subversion/config 文件中取消注释 store-passwords = no 和 store-auth-creds = no

如果没有,蚂蚁是如何做到的?

谢谢

4

1 回答 1

0

您可以使用 ~/.ssh/config 文件为该特定存储库指定用户名,例如

http://nerderati.com/2011/03/simplify-your-life-with-an-ssh-config-file/

您可以为不同的主机指定不同的用户名等。

在 ssh 手册页中,您可以使用 -F 选项告诉 ssh 使用特定的配置文件(而不是默认的 ~/.ssh/config)。

由于您无论如何都在使用脚本,您是否可以让您的脚本提示用户输入用户名,然后使用输入的用户名创建配置文件?

于 2013-03-30T00:51:00.087 回答