`
linvar
  • 浏览: 259673 次
  • 性别: Icon_minigender_1
  • 来自: 未定
社区版块
存档分类
最新评论

subversion1.6的安装与使用

阅读更多
首先来一张subversion的架构图

1.subversion的安装主要是要解决依赖的类库:
1).libapr, libapr-util(apache portable runtime)
layer that allows  suberversion client and server to run on different OS.
这两个lib如果单独装的话(还修改安装路径), 可能出现错误.
所以可以使用subversion自身的dependency 包进行安装, unpack即可,会自动在subversion发行版中加入相关的文件夹,比如apr, apr-util, ...
还可以将apr,apr-util源码加到subversion发行版目录下(apr,apr-util文件夹)
然后对apr, apr-util进行./buildconf 即可

2).zlib(libz)

3).libneon or libserf (option for client to send http request)

4).openssl (option for client and server)
5).expat xml parser
compressing binary differences

6).sqlite3 v-amalgamation
manage some internal databases
默认使用FSFS文件系统
cd apr; ./buildconf ; cd ../apr-util ; ./buildconf ; cd ..
./configure --prefix=/opt/subversion \
--with-zlib=/opt/zlib \
--with-sqlite=/opt/sqlite \


2.访问subversion repository
从subversion的架构图我们可以看出,访问subversion repository(我们的数据所在地,也叫版本库), 可以有三种方式,
1).第一种是如果客户端跟服务器的repository都在同一server下,
    使用的协议是file:///
    如: svn import . file:///c:/rep/hello -m ''
        svn list file:///home/rep/hello

2).第二种,也是比较多人使用的,采用的svn://协议,服务器端启动svnserve这个程序,通过它访问repository,
如 svn import . svn://123.44.21.34/hello -m ''

3).第三种是通过apache这个http服务器访问repository,协议当然就是http://了

3.建立repository资源库

从上面又可以看出,首先我们得先建立我们的repository,这样才能使用以上三种方式访问,这个repository是我们的关健资源库,所有的操作最后都是反映到这里来的.
首先建立这个repository
#svnadmin create /path/to/repository
这样在/path/to/repository下就会生成几个关健的文件夹:
比如conf, db,除了conf可以修改,其他文件,文件夹都不能随便修改删除等
conf下有svnserve.conf, authz, passwd这三个文件
这个文件夹下的配置文件是配置svnserve服务器的,跟其他另外两种访问方式无关.
svnserve.conf主要配置[general]下的东东,
比如 anon-access=none,auth-access=write 可以使匿名用户不能访问,而已验证的用户可以进行读写操作.
验证用户可以在 password-db = passwd说明,
这样在conf/passwd文件中定义的用户都是svnserve的用户.
在conf/passwd文件中定义用户很简单: 在[users]下一个用户一行,
格式 username = password(明文)

每个用户又有可能有不同的访问资源权限,比如小王不能访问buyshop这个项目的资源,而其他可以
在svnserve.conf 中的[general]注释掉authz-db = authz
这样conf/authz文件中定义的权限就会被应用.
具体实例参照authz文件本身,它有詳細说明


4.启动svnserve
repository(版本库)建好了,svnserve配置文件修改好了,
现在是启动svnserve服务器的时候了
#svnserve -d -r /path/to/repository
这样就在后台启动了,从-r可以看出我们可以有不同的版本库,可以按需使用

5.subversion的命令
subversion系统自带的工具有服务器端的如svnadmin,svnserve,
也有客户端的如使用最多的svn 命令,svn下面还有很多子命令

6.上传项目
现在应该将我们的项目上传到subversion的repository供他们管理
项目的结构可以考虑trunk,branches,tags
#svn import . svn://server-ip/hello -m 'initial'
这样就将当前目录下的所有文件,文件夹上传到repository下的hello文件夹中

当我们需要使用由svn版本控制的项目文件,必须checkout到本地
#svn checkout svn://serveer-ip/hello/trunk hello
这样就将hello项目主线的文件下载到当前目录下的hello文件夹中

---------------------------------------------------------------------------------------
7.客户端命令svn
当我们checkout出项目之后,进入到项目文件夹中,这个例子是当前目录下的hello文件夹
svn命令要在工作拷贝中(working copy)运行
#cd hello
我们可以离线操作本地项目文件,修改,增加,删除等等.
当确定修改完成,需要保留这些信息时,这才使用svn commit -m ''命令去跟服务器联系说我修改了哪些文件,给我这些改动状态一个版本号.
客户端commit一次,就将版本号加1,最开始import 时版本号为1

当我们完成一个项目或其他原因想将项目拿出来而不带版本信息,这时可用
#svn export svn://server-ip/hello/trunk hello_2
或可以指定版本号,默认是最新版本号 如 -r 1234
常用客户端命令:
1). svn add file/dir
eg: svn add --depth=empty otherdir (只增加otherdir文件夹)
svn add * --force 递归增加全部未加入版本控制的文件

2).svn cat url (查看版本库文件的内容而不checkout出来)
eg: svn svn://192.168.1.1/bz/readme.txt

3).svn changelist — Associate (or deassociate) local paths with a changelist.
svn cl issue12 foo.a foo.b(将foo.a, foo.b加入changelist可以方便以后commit)
svn commit --changelist issue12 -m 'fix issuse 12'

4).svn checkout — 从版本库取出一个工作拷贝
svn co $svn_url [path]

5).svn cleanup [path]— 递归清理工作拷贝

6).svn commit -m 'comment' [path] — 将修改从工作拷贝发送到版本库

7).svn copy SRC DST — 拷贝工作拷贝的一个文件或目录到版本库
SRC, DST可以是working copy, repository的自由组合

8).svn delete [PATH/URL] — 从工作拷贝或版本库删除一个项目
PATH指working copy下的路径, URL指repository的路径

9).svn diff — 比较两条路径的区别

10). svn export — 导出一个干净的目录树
svn export URL PATH

11). svn -m 'comment' import [PATH] URL — 递归提交一个路径的拷贝到版本库
如果PATH ommited, '.' is assumed
这个时候PATH并没有纳入版本控制, 需要checkout出来成为working copy

12). svn info [PATH/URL]— 显示本地或远程条目的信息

13). svn list — 列出版本库目录的条目

14). svn lock — 锁定版本库的工作拷贝路径或URL,所以没有其他用户可以提交这些文件的修改
svn lock jp.c
对应的 svn unlock

15). svn log — 显示提交日志信息

16). svn mkdir — 创建一个纳入版本控制的新目录
svn mkdir hello
svn mkdir -m 'f' URL

17). svn move SRC... DST — 移动一个文件或目录

18). svn resolve PATH...— Resolve conflicts on working copy files or directories

19). svn revert PATH... — 取消所有的本地编辑

20). svn status [PATH]— 打印工作拷贝文件和目录的状态

21). svn switch — 把工作拷贝更新到别的URL
svn switch URL[@PEGREV] [PATH]
svn switch --relocate FROM TO [PATH...]

22).svn update — 更新你的工作拷贝

-----------------------------------------------------------------

8.服务器端的命令svnadmin, svnlook
在服务器端直接操作文件路经, 而不是URL
svnadmin is the administrative tool for monitoring and repairing your Subversion repository
1). svnadmin create REPOS_PATH — 创建一个新的空的版本库




9.当上传eclipse项目工程到subversion中时,必须加上.project .classpath文件,再加上.settings文件夹

10.relocate
subversion的库是可复制的, 当要将库移到另外的机器上, 需要relocate
cd到项目目录下
#svn switch --relocate FROM TO
如# svn switch --relocate svn://192.168.1.112/bidaround/trunk svn://192.168.1.223/bidaround/trunk

分享到:
评论

相关推荐

    subversion1.6 手册

    在阅读Subversion 1.6中文手册时,你会了解到如何安装和配置Subversion服务器,创建和管理版本库,设置用户权限,以及如何使用基本的命令行工具进行检出、提交、更新、合并等操作。手册还将详细解释如何处理冲突,...

    Version.Control.With.Subversion.For.Subversion.1.6

    《Version Control with Subversion for Subversion 1.6》是一本专为Subversion 1.6版本设计的用户手册,旨在帮助读者深入了解和熟练掌握这一版本控制系统。Subversion(简称SVN)是一种广泛应用于软件开发领域的...

    Subversion 帮助手册 - Version Control with Subversion For Subversion 1.6

    Version Control with Subversion For Subversion 1.6 (Compiled from Revision 38063)

    Subversion(1.6最新版)

    5. **客户端配置**:推荐使用如TortoiseSVN这样的图形化客户端,并解释如何将客户端与安装的SVN服务器连接。 6. **使用教程**:简要介绍基本的SVN命令,如`svn checkout`(检出)、`svn commit`(提交)、`svn ...

    svn-book(for Subversion 1.6).pdf

    ### Subversion (SVN) 基础与高级使用指南 #### 一、Subversion 概述 **Subversion**(简称 SVN)是一种版本控制系统,它管理着随时间改变的数据。Subversion 将数据存储为文件集合,并记录每一次文件及目录的修改...

    CentOS默认的yum --install subversion ,安装的是1.6版本 安装1.7脚本

    CentOS默认的yum --install subversion ,安装的是1.6版本 安装1.7脚本

    Svn1.6(32bit&64bit)+subversion1.6(32bit)+pbscc整合

    TortoiseSVN-1.6.13.20954-x64-svn-1.6.16.msi TortoiseSVN-1.6.15.21042-win32-svn-1.6.16.msi LanguagePack_1.6.13.20954-x64-zh_CN.msi Setup-Subversion-1.6.16....PBSCC安裝後要用pbscc.dll在覆蓋掉原來的dll即可

    svn1.6

    5. **扩展的API**:对于开发者来说,Subversion 1.6扩展了API,增加了更多的功能接口,使得开发与Subversion集成的应用程序变得更加容易。 6. **更好的日志信息**:日志消息现在支持多语言,且格式更加规范,有助于...

    subversion-1.6.13.tar.gz

    安装与编译Subversion 1.6.13** 要使用这个源代码包,首先需要解压,可以使用以下命令: ```bash tar -zxvf subversion-1.6.13.tar.gz ``` 解压后,进入目录并按照标准的开源软件编译流程进行安装,通常包括配置、...

    subversion 客户端 下载 Sub Version 1.6 win32

    TortoiseSVN SVN subversion 客户端 下载 Sub Version 1.6 win32 实用于 win32 系统。可以同步 签入 签出 很不错的工具

    Slik-Subversion-1.6.0-x64

    Slik-Subversion-1.6.0-x64Slik-Subversion-1.6.0-x64Slik-Subversion-1.6.0-x64

    Subversion 1.6.3 WINDOWS版本

    Subversion 是一种开放源码的全新版本控制系统,支持可在本地访问或通过网络访问的数据库和文件系统存储库。不但提供了常见 的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力...

    subversion的源码及依赖包(1.6版)

    Subversion是一款广泛使用的版本控制系统,它允许用户管理代码库,跟踪文件和目录的变化,并支持多人协作。1.6版是Subversion的一个较旧但稳定版本,对于那些需要在老系统上工作或者研究历史版本的人来说仍然有其...

    Subversion 1.6.3 官方发布的命令行程序

    Subversion(SVN)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。在Subversion 1.6.3这个版本中,我们主要关注的是其命令行程序,这是一个非常强大的工具,允许用户通过简单的命令行接口执行各种...

    Subversion 权威指南中文 1.6

    此外,《Subversion 权威指南中文 1.6》还涵盖了高级主题,如hooks脚本、备份与恢复策略、网络配置以及与其他工具(如IDEs和构建系统)的集成。hooks脚本允许管理员在特定事件(如提交或更新)发生时执行自定义脚本...

    Subversion 1.6.7_客户端

    TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi TortoiseSVN-1.6.7.18415-win32-svn-1.6.9.msi

    subversion-1.6.15.zip

    7. **客户端和服务器兼容性**:Subversion 1.6确保了与早期版本的客户端和服务器之间的兼容性,用户可以逐步升级而无需担心中断。 在安装和使用Subversion 1.6.15时,用户通常会遇到以下步骤: 1. **安装**:下载...

    subversion-1.6.17.tar.bz2

    Linux下SVN客户端安装包,代码和文档版本控制管理工具。

    Ubuntu下Subversion的安装

    安装Subversion后,你可能还需要安装一些额外的工具,如`svnadmin`和`svndumpfilter`,这些工具在日常使用中非常有用。这些通常已经包含在安装包内,但你可以确认一下: ```shell sudo apt-get install subversion-...

Global site tag (gtag.js) - Google Analytics