如何让 svnant/svnkit 提示输入用户名/密码

发布于 2024-07-07 21:36:30 字数 314 浏览 15 评论 0原文

我有一个 Ant 脚本,需要从 Subversion 检出目录。 这可以使用 svnant/svnkit 来实现。 但是,Subversion 访问是经过身份验证的,我不想将我的用户密码存储在文件中。

我可以让 svnkit 弹出一个密码对话框吗? 或者更好的是,让它使用与 Eclipse 内的 subversive/svnkit 使用的相同的凭证缓存(用户名可以从 build.properties 中读取)?

我无法切换到基于公钥的身份验证,因为我无法控制 subversion 服务器。

现在,它只是说“svn:身份验证已取消”。

I have an Ant script that needs to checkout a directory from Subversion. This works using svnant/svnkit. However, Subversion access is authenticated, and I do not want to store my user password in a file.

Can I make svnkit pop up a password dialog?
Or even better, make it use the same credential caching that subversive/svnkit inside of Eclipse uses (the username can be read from the build.properties)?

I cannot switch to public key based authentication, as I do not control the subversion server.

Right now, it just says "svn: authentication cancelled".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

少女净妖师 2024-07-14 21:36:30

类似于这个答案< /a>:

<input message="password:>" addproperty="password">
      <handler classname="org.apache.tools.ant.input.SecureInputHandler" />
</input>

这将使该人的用户名不显示。 这需要 Ant 1.7.1 或更高版本。

An analog to this answer:

<input message="password:>" addproperty="password">
      <handler classname="org.apache.tools.ant.input.SecureInputHandler" />
</input>

This will make it so that the person's username is not displayed. This requires Ant 1.7.1 or greater.

顾铮苏瑾 2024-07-14 21:36:30

为了回答我自己的问题,我可以使用 Ant [input] 任务向用户询问密码并将其存储在可以传递给 [svn] 任务的属性中。

 <target name="checkout">
    <input
        message="Please enter subversion password for ${username}:"
        addproperty="password"
      />

    <svn svnkit="${svnkit}" username="${username}" password="${password}">
        <checkout url="${urlRepos}/project" destPath="web/" />
    </svn> 
</target>

不幸的是,这并没有用 * * * * * 屏蔽密码,而且我仍然想从凭证缓存中读取......

To answer my own question, I can use the Ant [input] task to ask the user for a password and store it in a property that can be passed to the [svn] task.

 <target name="checkout">
    <input
        message="Please enter subversion password for ${username}:"
        addproperty="password"
      />

    <svn svnkit="${svnkit}" username="${username}" password="${password}">
        <checkout url="${urlRepos}/project" destPath="web/" />
    </svn> 
</target>

Unfortunately, this does not mask the password with * * * * *, and I still want to read from the credential cache...

迟到的我 2024-07-14 21:36:30

Jera Ant 任务提供了支持密码输入的[查询]任务:

<taskdef name="query" classname="com.jera.anttasks.Query" />
<target name="checkout">
  <query
    message="Please enter subversion password for ${username}:"
    name="password"  password="true"
  />

  <svn svnkit="${svnkit}" username="${username}" password="${password}">
    <checkout url="${urlRepos}/project" destPath="web/" />
  </svn> 
</target>

The Jera Ant Tasks provide a [query] task that supports password input:

<taskdef name="query" classname="com.jera.anttasks.Query" />
<target name="checkout">
  <query
    message="Please enter subversion password for ${username}:"
    name="password"  password="true"
  />

  <svn svnkit="${svnkit}" username="${username}" password="${password}">
    <checkout url="${urlRepos}/project" destPath="web/" />
  </svn> 
</target>
青春有你 2024-07-14 21:36:30

使用 ant-dialog (http://sourceforge.net/projects/ant-dialog/ ),它可以显示一个 java awt 窗口,以便您可以输入属性。 它还具有类似 *** 密码的输入字段类型。

Use ant-dialog (http://sourceforge.net/projects/ant-dialog/), it can display a java awt window so you can input properties. It also features a *** password like input field type.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文