如何使用java从SVN存储库获取所有文件和目录

2023-12-13

我有一个任务要完成。我想连接到 SVN 存储库,并且必须使用 java 代码将所有目录和文件从 svn 下载到我的本地系统。我对此很陌生,并尝试使用示例来读取单个文件内容http://svnkit.com/kb/dev-guide-commit-operation.html但在获取文件内容和属性时出现类似错误的异常: svn: E170001: ' 需要身份验证https://netspurt.unfuddle.com:443解开颠覆存储库'。请任何人可以详细解释一下

以下代码对我有用:

private static SVNClientManager ourClientManager;
     public void DownloadWorkingCopy(String svnLocation,String svnUserName,String svnPassword){

String locationForSVNProj="C:\\SVNLOC";

        DefaultSVNOptions options = SVNWCUtil.createDefaultOptions(true);
        ourClientManager = SVNClientManager.newInstance(options, svnUserName, svnPassword);
        SVNUpdateClient updateClient = ourClientManager.getUpdateClient( );
        updateClient.setIgnoreExternals( false );
        SVNRevision rev=SVNRevision.HEAD;
        File file=new File(locationForSVNProj);
        try{
             long revision1=updateClient.doCheckout( SVNURL.parseURIEncoded(svnLocation) ,file , rev , rev , true);

        }catch(Exception e){e.printStackTrace();}


    }

“需要身份验证”问题意味着服务器需要身份验证,但您没有提供正确的信息ISVNAuthenticationManager实施到SVNClientManager。 SVNKit 支持不同的身份验证方式。

如果您知道您的凭据是什么并且它们是固定的,您可以使用BasicAuthenticationManager执行。

如果您想使用存储在您的~/.subversion目录、使用DefaultSVNAuthenticationManager实现(有一个方便的方法来构造它:SVNWCUtil.createDefaultAuthenticationManager()但请注意,这对应于 Subversion 命令--non-interactive选项)。如果您需要允许从控制台输入密码的身份验证管理器,请查看 SVNCommandEnvironment#createClientAuthenticationManager() 实现。

最后我想注意到 SVNClientManager 已经过时了(尽管仍然受支持)。相反,我更喜欢 SvnOperationFactory 类,就像我的另一个那样answer,它还有 setAuthenticationManager() 设置器。

如果这很重要的话,我是 SVNKit 开发人员之一。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用java从SVN存储库获取所有文件和目录 的相关文章

随机推荐

  • R8 将抽象类的“受保护”方法更改为“公共”方法,不带 -allowaccessmodification 标志

    我对 R8 有疑问 在MyLib我有公开摘要MyLibsClass其中我有受保护的方法 MyChildClass延伸自MyLibsClass in MyApp在 R8 的魔法之后 所有受保护的方法 包括受保护的抽象 MyLibsClass都
  • 从另一个非静态方法调用非静态方法

    Given myClass下面和非静态方法run 下面的代码行是有效的 new myClass move 然而 这也是有效的 move 我理解第一次尝试 new myClass move 创建该类的实例 然后调用它的方法 第二次尝试是否也隐
  • 如何在代码突出显示活动行时保持初始单元格颜色

    我有这个工作簿代码 Private Sub Workbook SheetSelectionChange ByVal Sh As Object ByVal Target As Range toggles worksheet colors co
  • 如何更改android中tabhost的字体大小

    如何更改选项卡的字体大小 我为选项卡扩展了 TabActivity 您可以定义主题 使用样式来实现此目的 首先创建主题 名称 CustomTheme 为您Activity在你的res values styles xml
  • 将对象上传到 Amazon s3 时如何为其设置 ACL?

    我可以将图像从 Android 上传到 Amazon s3 但它们始终是私人的 没有人可以展示它们 我必须在 Amazon s3 管理控制台上公开它 我无法在上传图像时为其设置 ACL 我了解到 有两种方法可以将图像从Android上传到A
  • 在每行列之间插入零的行和列

    如果我有一个MxN矩阵 我如何在matlab中原始矩阵中的每隔一列 行之后添加 而不是替换 一行零和一列零 实际上结果将是 2Mx2N 您可以通过以下方式进行操作 不要添加新的行和列 而是创建一个空矩阵并填充原始矩阵中的元素 创建一个具有维
  • 正则表达式在 VS Code 中查看后面?

    我正在 VS Code 中开发语法扩展 但在查看正则表达式模式背后遇到了困难 给定以下字符串 我只想返回cmp当它前面是 fmt fmt cmp foo 我在另一个编辑器中使用的匹配字符串是这样的 lt fmt w 但是 这在 VS Cod
  • 如何使用abs使搜索菜单项在操作栏中显示完整视图

    我在操作栏中有五个操作菜单项 我正在使用操作栏 sherlock 库 如下所示 In onCreateOptionsMenu 我使用了以下代码 menu add 0 1 0 Settings setShowAsAction MenuItem
  • LinkedIn SDK 位码 iOS 9

    适用于 iOS 的 LinkedIn SDK 仍然不支持 Bitcode 什么时候可以使用 有什么办法可以解决 iOS 9 上的这个问题吗 到目前为止 我已经尝试在 pbxproj 文件上禁用 Bitcode 支持 但这对于整个项目来说并不
  • Android Studio Youtube 导入存在问题。 “无法解析 YouTubePlayerSupportFragment”

    我正在尝试使用 Android Studio IDE 在应用程序中开发 YouTube 功能 这是我目前的代码 The issue is surrounding the imports Now I have the JAR file imp
  • 将 int 格式设置为电话号码

    有没有办法可以将例如 0000000000 格式化为 000 000 0000 我正在返回一个列表框 其中包含尚未格式化的电话号码集合 我想要的是格式化它 这就是我在视图中的内容 并从控制器 ViewData phoneList new S
  • C++ - 编译器如何决定以引用类型作为参数的重载函数?

    在学习 C 时 我遇到了转换序列这一复杂的主题 并且遇到了一个我自己无法解决的问题 void g const double std cout lt lt void g const double lt lt std endl void g c
  • 来自线程池的 QNetworkAccessManager

    一个非常基本的问题 该文档提到 所有方法QNetworkAccessManager是可重入的 如果是这样 正在执行get 方法在一个QRunnable没有锁合法吗 我的代码看起来像这样 class MyClass public QRunna
  • 给定两个目录树,如何找出哪些文件的内容不同? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 如果我想找到两个目录树之间的差异 我通常只需执行 diff r dir1 dir2 这准确地输出了相应文件之间的差异 我只想获取内容不同的相应文件的列表 我认为这只是将命令行选项传递
  • 如何仅序列化 Jackson 孩子的 ID

    使用 Jackson fasterxml jackson 2 1 1 时是否有内置方法仅序列化孩子的 id 我们想发送一个Order通过 REST 有一个Person参考 然而 person 对象非常复杂 我们可以在服务器端刷新它 所以我们
  • javascript中从子窗口刷新父窗口

    我已经寻找了一段时间 找不到适合我需求的答案 我有一个页面弹出一个窗口 window open 让用户登录 创建cookie 设置会话 然后重定向到另一个页面 当模态重定向时 我想刷新父页面 这样我刚刚做的所有好东西都会被父页面识别 我尝试
  • 数据库设计:被其他实体引用的“代码”表

    我正在构建一个数据库作为一个简单的练习 它可以托管在任何数据库服务器上 所以我试图尽可能保持标准 基本上我想做的是一个被其他实体引用的 代码 表 我解释 xcode id code r role p property code r admi
  • 在浏览器中使用 PHP 脚本运行 Composer

    想知道是否可以执行composer从带有一个 PHP 包装器的浏览器 因为我无权通过 shell 访问服务器 不确定是否可以使用 cURL 来做到这一点 Danack 解决方案的替代方案是包括 composer composer 作为一个
  • apache 上的 Django 与 mod_wsgi (Linux) - 403 禁止

    好的 所以我正在关注this教程 当我尝试通过本地服务器访问我的网站时 我收到这个奇怪的错误 Forbidden You don t have permission to access on this server Apache 2 4 6
  • 如何使用java从SVN存储库获取所有文件和目录

    我有一个任务要完成 我想连接到 SVN 存储库 并且必须使用 java 代码将所有目录和文件从 svn 下载到我的本地系统 我对此很陌生 并尝试使用示例来读取单个文件内容http svnkit com kb dev guide commit