`
xiangxji
  • 浏览: 58372 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

svn纯java客户端SVNKit学习整理(2)

    博客分类:
  • java
阅读更多

创建一个Subversion仓库

Subversion仓库类型

到目前为止,一个Subversion仓库的存储可以用Berkley DB数据库(一般叫做Berkley DB 类型)或者普通的文件系统(一般叫做FSFS 类型)来实现。

手动创建一个Subversion仓库

Subversion安装包(你可以在Subversion home site 下载该配置包)包括一个用于创建仓库的svnadmin工具。当你安装Subversion时,你可以通过在命令提示行中输入以下命令行创建一个仓库:

...>svnadmin create C:\path

以上可以为你给定的路径创建一个FSFS类型的仓库。你也可以在命令后端明确的提供仓库的类型:

...>svnadmin create --fs-type bdb C:\path

Subversion仓库的根目录类似如下结构:

 /

 |_conf/

 |_dav/

 |_db/

 |_hooks/

 |_locks/

 |_format

 |_readme.txt

阅读创建和设置仓库的官方操作手册来使用官方Subversion工具

使用SVNKit创建一个Subversion仓库

SVNKit仅提供创建FSFS类型仓库的功能。以下就是使用SVNKit创建一个空仓库的代码片段:

   1 import org.tmatesoft.svn.core.io.SVNRepositoryFactory;

   2 import org.tmatesoft.svn.core.SVNURL;

   3 import org.tmatesoft.svn.core.SVNException;

   4 ...

   5

   6     try {

   7         String tgtPath = "C:/repos/root/path";

   8         SVNURL tgtURL = SVNRepositoryFactory.createLocalRepository( new File( tgtPath ), true , false );

   9     } catch ( SVNException e ) {

  10         //handle exception

  11     }

  12

以上将会在路径C:/repos/root/path创建一个FSFS类型的仓库。方法createLocalRepository第二个参数设为true时,被创建的仓库就可以修改版本属性。如果版本属性没有版本,一旦允许这些文件被改变,那么就存在永远丢失这些文件的风险。要允许版本属性改变,你必须在根目录的hooks目录中放置一个可执行的pre-revprop-change钩子脚本文件。

当尝试改变一个版本属性时,服务器(也就是svnserve)首先唤起pre-revprop-change 钩子。如果这个钩子脚本在hooks目录中不存在,或者脚本返回一个不等于0的值,对版本属性的修改将会被服务器拒绝。

当你使用Subversionsvnadmin工具创建一个新的仓库时,一个新的仓库的hook目录不包含真实的钩子脚本文件,而是钩子脚本模板。这就意味着在你将pre-revprop-change 钩子文件手工放入hooks目录前,你不能够改变版本属性。

由于SVNKit对版本属性的改变时非常直接的,当方法createLocalRepository第二个参数为true时,SVNKithooks目录中放置一个空的可执行的pre-revprop-change 钩子脚本。这个脚本不做任何事情,只是返回0,让请求的改变得以执行。相反,当参数值为false时,钩子脚本不会添加到hooks目录(目录中仅有模板),并且不能改变版本属性。

方法createLocalRepository第三个参数用于控制是否强制创建仓库。也就是,如果这个参数值为true,并且提供的路径已经存在一个仓库,那么SVNKit将会在这个路径上创建一个新的仓库。相反,参数值为false时,已存在的仓库不会删除,并且新的仓库创建将会失败,抛出SVNException

如果一个仓库创建成功了,方法createLocalRepository将返回这个仓库根目录位置的文件URL。你也可以使用SVNAdminClient(属于高级API中的类)来创建一个FSFS类型的仓库。实际上,这个admin客户端类使用SVNRepositoryFactory来做相同的工作。

  1 import org.tmatesoft.svn.core.wc.admin.SVNAdminClient;

   2 import org.tmatesoft.svn.core.SVNURL;

   3 import org.tmatesoft.svn.core.SVNException;

   4 ...

   5     SVNAdminClient adminClient;

   6     ...

   7     try {

   8         String tgtPath = "C:/repos/root/path";

   9         SVNURL tgtURL = adminClient.doCreateRepository( new File( tgtPath ), null , true , false );

  10     } catch ( SVNException e ) {

  11         //handle exception

  12     }

 

访问仓库

有两种方式访问Subversion仓库:

  • 通过网络
  • 访问本机

到目前为止,Subversion支持以下仓库访问方法

 

方法

访问的方法

file:///

直接仓库访问 (在本机磁盘上)

http://

通过 WebDAV 协议访问Subversion 关联的Apache server

https://

http:// 相同, 多了SSL 加密

svn://

通过普通的SVN协议访问svnserve服务器

svn+ssh://

svn://相同, 使用SSH终端

file:/// 访问

当仓库在你本机时,这一协议不需要你为这个仓库设置用户账户来工作。在提交操作中,Subversion仅使用一个用户名,如果没有明确地提供用户名,会话的用户名将会被使用。

svn://, svn+ssh:// 访问

要使用SVN://协议,管理员需要配置 svnserve程序用来验证用户的访问规则和账户。Svn+ssh://协议:首先,客户端通过ssh验证他对服务器主机的权限,终端连接远程服务器,就像是在本机上工作一样。你可以尝试任意一种方法。详细请看Subversion book 这一章

http://, https:// 访问

使用http://协议访问,管理员需要设置一个带有WebDAV协议扩展模块的Apache 服务器。怎样通过http://访问来分享你的仓库(包括账户设置提示),请阅读Subversion book Apache专用章节

 

 

时隔很久,终于整理了下一篇SVNKit的 手册,我需要有更多的时间来做一些有意义的事情……

分享到:
评论

相关推荐

    网络安全中的系统信息收集与防护机制探讨

    内容概要:本文档深入介绍了网络安全领域中的系统信息收集方法以及常见的保护措施。主要分为三大板块:获取网络和服务信息的方法、克服CDN和WAF等障碍的技术手段。其中包括对服务厂商、网络架构的理解,对于协议应用、内部网络设备的认识,以及面对各种安全措施如CDN服务、负载均衡器、Web应用防火墙时,如何进行有效的信息搜集。同时推荐了多个相关工具如Masscan、Nmap、Wafw00f及Kali自带动态二进制翻译工具。 适合人群:适合从事网络安全工作的专业人士和技术爱好者,特别是对信息安全有浓厚兴趣的学习者。 使用场景及目标:帮助技术人员提升网络安全领域的实战技能,掌握高效的信息收集技巧,了解并能够对抗多种常见的网络防护技术。 其他说明:文中提供了详细的演示案例和实际操作指导,辅以丰富的外部资源链接支持进一步学习。

    基于WPF开发的视频播放器

    基于WPF开发的视频播放器,实现视频的手动添加,播放,暂停,停止,音量,播放速度,以及进度显示。主要采用以下技术: 开发技术:WPF,.Net6.0 开发工具:Visual Studio 2022 具体可参考个人CSDN博客。

    中国分地区地级市泰尔指数数据集(2000-2019).zip

    中国分地区地级市泰尔指数数据集(2000-2019).zip

    Pillow_SIMD-6.0.0.post0+avx2-cp35-cp35m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    MATLAB-四连杆机构的仿真+项目源码+文档说明

    <项目介绍> - 四连杆机构的仿真 --m3_1.m: 位置问题求解 --m2_1.m: 速度问题求解 --FourLinkSim.slx: Simlink基于加速度方程的仿真 --FourLinkSim2.slx: Simscape简化模型仿真 --FourLinkSim3.slx: Simscape CAD模型仿真 - 不懂运行,下载完可以私聊问,可远程教学 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

    pendulum-2.1.2-cp310-cp310-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    polylearn-0.1.dev0-cp27-cp27m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    中国高质量发展指标体系-最新发布.zip

    中国高质量发展指标体系-最新发布.zip

    Pillow-6.2.2-cp27-cp27m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    中国分地区最新资本存量三份数据集.zip

    中国分地区最新资本存量三份数据集.zip

    pillow_avif_plugin-1.2.1-cp37-cp37m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    JAVASpring MVC仓库管理系统源码数据库 MySQL源码类型 WebForm

    Spring MVC仓库管理系统源码 功能描述: 库存管理 出入库管理:货物入库 货物出库 人员管理:仓库管理员管理 基础数据:供应商信息管理 客户信息管理 货物信息管理 仓库信息管理 系统维护:更改密码 系统日志 登陆日志 运行环境:Eclipse ,JDK 1.8 ,Tomcat7,maven 后端技术:SpringMVC MVC框架 Spring Framework 容器 Apache Shiro 安全框架 Mybatis ORM框架 MyBatis Generator 代码生成 C3P0 数据库连接池 Ehcache 进程内缓存框架 Apache poi 文件导入导出 Maven 项目构建管理 前端技术:jQuery , Bootstrap

    JAVASpring MVC进销存管理系统源码数据库 MySQL源码类型 WebForm

    Spring MVC进销存管理系统源码 基于Spring MVC+hibernate4+UI快速开发库+Spring JDBC+Highcharts图形报表+jquery+ehcache开发 运行环境:Ecplise + Tomcat7以上 包括:用户管理,角色管理,数据字典,菜单管理,部门管理,图标管理等等功能

    python自动化实现金山打字通的脚本

    视频展示

    pocketsphinx-0.1.15-cp37-cp37m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    【电磁】基于matlab完美磁导体边界的区域的二维FDTD【含Matlab源码 9195期】.mp4

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    postgresadapter-2.0.1-cp36-cp36m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    polylearn-0.1.dev0-cp37-cp37m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

    【java毕业设计】见福便利店信息管理系统源码(ssm+mysql+说明文档+LW).zip

    功能说明: 见福便利店信息管理系统的主要使用者分为管理员、员工、供应商;管理员:个人中心、员工管理、供应商管理、商品信息管理、商品类型管理、供应商商品管理、进货信息管理、销售统计管理、投诉信息管理、聊天信息管理、聊天回复管理;员工:个人中心、商品信息管理、商品类型管理、销售统计管理、供应商商品管理、进货信息管理、投诉信息管理、聊天信息管理、聊天回复管理;供应商:个人中心、商品类型管理、供应商商品管理、进货信息管理等功能。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7及以上 数据库工具:Navicat11及以上 开发软件:eclipse/idea Maven包:Maven3.3及以上 服务器:tomcat7及以上

    postgresadapter-2.0.1-cp37-cp37m-win_amd64.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

Global site tag (gtag.js) - Google Analytics