Subversion 是干什么的
前言
如果你是 Subversion 的新用户,我们建议你先去 Subversion home site 获取并阅读 Subversion 的官方文档,你可以从中学习到怎么去配置和使用 Subversion 仓库。我建议新学习的朋友先熟悉Subversion的工作原理和版本机制,然后再学习SVNKit相关的知识。SVNKit中的版本机制和工作原理和Subversion是一致的。
Subversion 是干什么的?
“这是什么,我怎么在我的工作中使用它”,这可能是新学者问自己的第一个问题。简短的说, Subversion 可以被描述为一个版本控制系统,它能从时间上跟踪文件的历史和目录的更改。所有加了版本的文件和目录都隶属于 Subversion 仓库的一个树形结构(就像普通的文件系 统一样)。加了版本的文件和目录拥有版本数据属性。客户端对仓库中的树的更改在一个单独的原子的事务中提交。每一个提交操作都为全部树(包括刚刚提交的新改变的数据和之前没有改变的数据)创建一个新的快照。这样一个快照就叫作修订版 Subversion 仓库的生命从修订版 0 (只有根目录存在修订版 0 )开始。当文件和目录被导入到仓库,仓库就发生了改变,新的修订版就被创建了,每一个成功的提交操作都为修订版加 1 。
Subversion 不会将仓库中文件的每一个修订版的全部内容都保留下来。对于每一个修订版 Subversion 使用智能机制来只存储该修订版被修改过的部分(即该版本与上一个版本之间的不同点)。因此, Subversion 的修订版允许你任何时候将仓库中的文件或者文件夹甚至整个仓库恢复到任何一个之前的版本(只要仓库树中第一修订版被创建了),不会丢失任何一个修订版的任何修改。每个修订版是仓库树的一个永久的快照,如果一个文件或者文件夹被添加到仓库中,那么它将不可能完全的从仓库中移除,因为它总是能在仓库中找到它的以前的被添加进来和被修改时的修订版。即使这种状况它的历史断了,并且从它被删除时的修订版开始它再也不存在于仓库中。
使用 Subversion 中心仓库的一种一般方案是在本地计算机上保存一份中心仓库任一子树的拷贝和从本地计算机提交修改结果到中心仓库。换句话说,客户端以某种方式修改来自中心仓库的文件或者目录,然后提交他的修改到中心仓库。本地加了版本信息的文件树就叫做工作拷贝。
使用场景:
Subversion 可以供以下使用:
手动使用 Subversion 来保存他们的文件的变化的终端用户。
编程使用 Subversion 的应用程序。
SVNKit 是干什么的?
一般来说应用程序有两种使用 Subversion 的方法
利用随时可以使用的 Subversion 客户端程序(比如你的计算机上的 Subversion 命令行客户端)。这种应用程序必须调用外部程序。
利用特殊的客户端库。
根据这一分类, SVNKit 是一个纯 Java 的 Subversion 客户端库。
在程序中使用 Subversion 和 SVNKit
有很多在中心存储(例如 Subversion 中的中心仓库)上来保存全部文件的历史数据修改记录的不同的应用程序。 Subversion 能够给这一想法提供非常实用的实现。然而,这些全部的应用程序可以划分为以下两个分类:
* 第一类是,能非常简单的和工作拷贝的格式进行集成。这一种应用程序利用在本地机器上给目录和文件加上版本信息。
* 另外一类是,工作拷贝格式不统一。这一类应用程序通过使用不同于文件和目录的项目来工作。跟踪项目的历史修改记录非常重要。但是工作拷贝不是这一类应用程序的实例。
上面的第二种应用程序使用 Subversion 中心仓库来存储他们的分等级描述的抽象模型。
SVNKit 是一个在 Java 应用程序中两种类型都使用版本控制的程序化的解决方案。也即, SVNKit 可以用来作为一个使用一般的方法(使用工作拷贝)来进行版本控制的集成的工具,也是一个在仓库访问协议层上和 Subversion 中心仓库进行通信的引擎。
SVNKit 提供以下功能:
与Subversion仓库一起工作(例如:访问仓库中的数据)
创建一个本地仓库
在工作拷贝上进行操作
给本地数据加上版本控制
复制已存在的仓库
将仓库内容转化为适于移动设备存储的格式化的数据流
将适于移动设备存储的格式化的数据流加载到仓库
检查本地仓库
by xiangxji@gmail.com 2010-05-04 , Revised by xiangxji@gmail.com 2010-05-28 未完待续……
- 大小: 18.2 KB
分享到:
相关推荐
### 纯Java操作SVN——SVNKit API详解 #### 概述 在软件开发过程中,版本控制系统如Subversion(SVN)是必不可少的工具之一。为了更好地集成SVN功能到Java应用中,SVNKit提供了一套全面且强大的API。本文将详细...
SVNKit是一款纯Java实现的Subversion(SVN)客户端库,它允许开发者在Java应用程序中直接集成SVN功能,无需依赖任何本地SVN客户端。这个压缩包提供的"svnkit-1.10.6"是SVNKit的一个版本,包含了支持Java开发的SVN...
常见的 SVN 客户端有 TortoiseSVN(Windows)、SmartSVN(跨平台)、SVNKit(Java 库,可用于构建自定义客户端)等。这些客户端支持多种操作系统,包括 Windows、Linux 和 macOS。 - **TortoiseSVN**:在 Windows ...
### SVNKit Java操作SVN详解 #### 一、SVN快速入门 SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和追踪多个开发者共享的文件变更。本文将详细介绍如何使用SVNKit进行SVN的基本操作,包括上传、下载、...
SVNKit是一个强大的Java库,它为Subversion(SVN)版本控制系统提供了全面的API支持。这个库使得开发者能够在Java应用程序中实现与SVN服务器的交互,包括版本控制操作、仓库浏览、信息获取等功能。本篇文章将深入...
- svnkit.jar、trilead.jar、svnkit-javahl.jar:这些是SVNKit相关的库文件,SVNKit是一个纯Java实现的SVN客户端库,支持JavaHL接口,允许在不依赖本地SVN库的情况下使用SVN。 - JAVAHL-LICENSE:JavaHL是JNI...
Apache的Subversion客户端抽象层(SVNKit)是一个广泛使用的库,它提供了与SVN服务器通信的API。要开始,你需要将SVNKit的JAR文件添加到你的项目类路径中。通常,这些JAR文件可以从Apache官方网站或通过Maven或...
1. **选择客户端工具**:常见的SVN客户端有TortoiseSVN(Windows)、SmartSVN(跨平台)、SVNKit(Java库,可用于开发自定义客户端)等。 2. **安装客户端软件**:下载并安装对应操作系统的客户端,按照安装向导...
1. org.polarion.eclipse.team.svn.connector.svnkit1_10_6.1.0.jar:这是基于SVNKit的连接器,是一个纯Java实现的SVN库,它提供了对SVN协议的全面支持,包括SSL加密通信,以及处理不同SVN版本服务器的能力。...
其他SVNKit的操作包括CheckOut,DoCommit,DoDiff,DoImport,DoUpdate,查看上次备注信息(message/log),DisplayFile(查看svn文件属性)DisplayRepositoryTree(查看某路径下的所有文件)
SVN客户端有许多实现,如TortoiseSVN(Windows)、SmartSVN(跨平台)、SVNKit(Java库)等。安装过程通常包括下载安装包,按照向导步骤进行,然后设置SVN服务器地址和认证信息。 4. **协作与版本管理**: SVN...
SVNKit 是一个纯 Java 实现的 SVN 客户端库,允许开发者在 Java 应用程序中集成 SVN 功能,而无需依赖外部的 SVN 客户端工具。 描述中提到的操作包括: 1. **版本号对比**:在 SVN 中,每个文件和目录都有一个唯一...
SvnKit是一个纯Java实现的SVN客户端库,它允许开发者在Java应用程序中直接与SVN服务器进行交互,执行如版本控制、提交、更新等操作。 ### SVN简介 Subversion(简称SVN)是一种广泛使用的版本控制系统,用于跟踪...
SVNKit (JavaSVN) 是一个纯 Java 的 SVN 客户端库,使用 SVNKit 无需安装任何 SVN 的客户端,支持各种操作系统。 这不是一个开源的类库,但你可以免费使用。 通过SVNKit,你可以在SVN上开发出自己的应用。
SVNKit (JavaSVN) 是一个纯 Java 的 SVN 客户端库,使用 SVNKit 无需安装任何 SVN 的客户端,支持各种操作系统。 这不是一个开源的类库,但你可以免费使用。 通过SVNKit,你可以在SVN上开发出自己的应用
SVNKit 是一个纯 Java 的 SVN 客户端库,它提供了与 SVN 服务器交互的全面功能,包括但不限于创建、更新、提交、分支、合并等操作。而 SVNKit-CLI 是 SVNKit 的命令行接口,允许通过 Java 程序调用 SVN 命令行工具。...
SVNKit是一个全面的、纯Java实现的Subversion(SVN)客户端库,它允许开发者在Java应用程序中集成版本控制系统Subversion的功能。Subversion是一种广泛使用的版本控制系统,用于跟踪文件和目录的更改,便于团队协作...
SVNKit是一个完全用Java编写的SVN客户端库,它可以让你在不依赖于外部命令行工具(如`svn`)的情况下,直接在Java代码中处理SVN相关的任务。 首先,你需要在项目中引入SVNKit的依赖。如果你使用的是Maven,可以在...
SVNKit是一个纯Java实现的SVN客户端库,提供了丰富的API,可以实现对SVN的各种操作,如添加、删除、提交、更新等。 - 首先,需要在项目中引入SVNKit依赖,然后创建SVNClientManager实例,这是所有SVN操作的基础。 ...
SVNKit是一个强大的Java库,它实现了Subversion(SVN)客户端的功能,允许开发者在Java应用程序中集成版本控制系统。SVNKit提供了丰富的API,使得开发者能够执行诸如版本控制、提交、更新、比较、合并等SVN操作。在...