7 ruby svn windows tortoisesvn
有没有办法检查SVN更新是否需要认证?
场景:我编写了一个ruby GUI应用程序,它以预定的方式更新SVN存储库(从静态路径).这作为Windows服务执行.也有安装tortoisesvn.
在ruby中执行时
svn update local_path_to_repository --username user --password password 在我的脚本中然后它工作正常,因为我使用更新命令传递用户名和密码.
但是,当我第一次签出存储库时,tortoisesvn会保存密码(通过缓存密码,使用标准的Windows加密服务来加密磁盘上的密码),因此我不一定每次都需要传递用户名和密码.因此,我只是svn update local_path_to_repository在我的脚本中.
问题:在我更改LDAP密码之前,此工作正常.一旦我的LDAP密码被更改,所有存储库都无法更新,因为它请求新密码,但没有用于传递新密码的用户界面.
我只需要在svn更新需要这些凭据但不总是需要时才构建用户名和密码UI.我该如何实现这一目标?
更新:阅读SVN 书籍.我明白:
--non-interactive选项或其客户端特定的等价物指示不这样做).但我没有找到检查是否需要身份验证的方法.
谁能帮帮我吗!
小智 5
所以我终于通过以下方式找到了解决方法:
output = `svn update "#{repo_path}" --non-interactive 2>&1`
check_authentication = output.include?("Authentication failed")
Run Code Online (Sandbox Code Playgroud)
如果check_authentication返回true意味着身份验证失败,那么我构建用于输入新密码的 GUI 并将其发送给用户。
| 归档时间: |
|
| 查看次数: |
934 次 |
| 最近记录: |