svntask在使用ssh隧道时如何将用户和密码传递给svn?

时间:2013-03-28 19:48:36

标签: svn ant ssh

我正在通过SSH使用SVN repo,我想将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>

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

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

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

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

但如果我想将它放在一个脚本中供任何使用构建服务器的通用帐户的人使用

,那就没有用了

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

有没有办法实现这个目标?

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

如果没有,蚂蚁是怎么做的?

由于

1 个答案:

答案 0 :(得分:0)

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

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

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

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

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