`
lujar
  • 浏览: 512790 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SVN安装和使用(新一代的CVS)

阅读更多

SVN安装和使用

SVN的安装

访问SVN网站下载你所需版本的安装包。以Linux为例,安装过程为依次执行以下步骤:
rpm -ivh apr-0.9.5-0.2.i386.rpm
rpm -ivh apr-util-0.9.5-0.1.i386.rpm
rpm -ivh neon-0.24.7-1.i386.rpm

rpm -ivh subversion-1.1.1-1.rh80.i386.rpm

 

SVN安装包的基本命令

svn The command-line client program.
svnversion A program for reporting the state (in terms of revisions of the items present) of a working copy.
svnlook A tool for inspecting a Subversion repository.
svnadmin A tool for creating, tweaking or repairing a Subversion repository.
svndumpfilter A program for filtering Subversion repository dumpfile format streams.
mod_dav_svn A plug-in module for the Apache HTTP Server, used to make your repository available to others over a network.
svnserve A custom standalone server program, runnable as a daemon process or invokable by SSH; another way to make your repository available to others over a network.

 

配置本地访问的SVN

执行svn --version,你将看到如下画面
[root@localhost local]# svn --version
* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
* ra_local : Module for accessing a repository on local disk.
* ra_svn : Module for accessing a repository using the svn network protocol.
如果你有ra_local这个模块,那么客户端就可以用file:// URLs的地址来访问。

执行一下命令

$ svnadmin create /root/svnrepo
$ ls /root/svnrepo
conf/ dav/ db/ format hooks/ locks/ README.txt

接下来,我们建立一个本地工作目录/root/svnlocal,进入执行

//建立项目
[root@localhost svnlocal]# mkdir project 
[root@localhost svnlocal]# mkdir project/trunk
[root@localhost svnlocal]# mkdir project/branches
[root@localhost svnlocal]# mkdir project/tags
//建立一个模块exo
[root@localhost svnlocal]# mkdir project/exo
[root@localhost svnlocal]# vi project/exo/exo.conf

[root@localhost svnlocal]# svn import . file:///root/svnrepo -m 'initial'

[root@localhost svnlocal]# rm -rf project

[root@localhost svnlocal]# svn checkout file://localhost/root/svnrepo/project //check整个项目

[root@localhost svnlocal]# svn checkout file://localhost/root/svnrepo/project exo //check 其中一个模块
如果成功可以看到文件已经被check出来。地址可以使用file://localhost/root/svnrepo 或者使用file:///root/svnrepo

其他的命令有

  • Enter your working copy and edit a file's contents.
  • Run svn diff to see unified diff output of your changes.
  • Run svn commit to commit the new version of your file to the repository.
  • Run svn update to bring your working copy “up-to-date” with the repository.

 

SVN的访问地址

Schema Access Method
file:/// direct repository access (on local disk)
http:// access via WebDAV protocol to Subversion-aware Apache server
https:// same as http://, but with SSL encryption.
svn:// access via custom protocol to an svnserve server
svn+ssh:// same as svn://, but through an SSH tunnel.

 

启动SVN的svnserve,这样你就可以通过svn://url的方式来访问。

查看启动参数
[root@localhost svnlocal]# svnserve --help
Usage: svnserve [options]

Valid options:
  -d [--daemon]            : daemon mode
  --listen-port arg        : listen port (for daemon mode)
  --listen-host arg        : listen hostname or IP address (for daemon mode)
  --foreground             : run in foreground (useful for debugging)
  -h [--help]              : display this help
  --version                : display version
  -i [--inetd]             : inetd mode
  -r [--root] arg          : root of directory to serve
  -R [--read-only]         : deprecated; use repository config file
  -t [--tunnel]            : tunnel mode
  --tunnel-user arg        : tunnel username (default is current uid's name)
  -T [--threads]           : use threads instead of fork
  -X [--listen-once]       : listen once (useful for debugging)

我们执行svnserve -d -r /root/svnrepo

然后在刚才的svnlocal目录下,执行

[root@localhost svnlocal]# svn checkout svn://localhost/project exo
就可以通过网络协议check出指定的repo或者其中的模块

注意:如果我们启动时候,只是用svnserve -d而没有制定repo路径的话,那么你在checkout的时候就必须使用是svn checkout svn://localhost/root/svnrepo/project exo 来指明全路径。

接下来,我们随便修改一个文件,然后执行

[root@localhost exo-build]# svn commit -m "test"
你会发现提示说:“提交失败,svn: Connection is read-only” 这说明svn://访问方式没有用户权限控制,只能最基本的匿名下载使用。

 

权限配置

先介绍svnserve使用的基于文件的权限控制

进入/root/svnrepo/conf/ 打开svnserve.conf,修改一下两行

[general]
anon-access = none
auth-access = write
 
password-db = passwd

注意:所有的行都必须顶格,否则报错。

在相同目录下建立一个passwd文件,使用vi passwd命令。在里面输入

[users]
danny = danny
bobo = bobo
重新启动svnserve,svnserve -d -r /root/svnrepo/ 。

好,接下来,我们执行

[root@localhost svnlocal]# svn checkout svn://localhost/project exo
根据提示依次输入"root"的密码(任意),用户登陆名名(danny_xcz)和密码(pass)。就可以正常chekout需要的目录了。登陆一次以后再执行svn update等命令时无需再次输入认证密码。
分享到:
评论

相关推荐

    VSS、CVS、SVN和ClearCase等配置工具对比

    - SVN是专门为克服CVS的缺陷而设计的下一代版本控制系统,不仅解决了CVS存在的问题,还增强了对二进制文件和目录的支持。SVN的设计更加现代化,易于集成到各种开发环境中。 **4. ClearCase** - ClearCase是由IBM...

    Eclipse安装SVN-CC-GIT-VSS-CVS详细使用说明书

    SVN与CVS一样,是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库 一、安装Subclipse 安装Subclipse的最好方法...

    SVN中文使用手册.doc

    SVN(Subversion)是一个开源的版本控制系统,相较于CVS,它具有更完善的功能和设计,是新一代的开源项目管理工具。此中文手册的翻译过程中,译者们面临了理解DocBook格式和保持翻译质量的挑战。随着翻译工作的推进...

    深入浅出SVN(SubVersion,版本控制系统) (pdf高清晰版)

    尽管Git等新一代版本控制系统逐渐兴起,Subversion依然因其易用性和稳定性,在许多组织和项目中占有重要地位。 综上所述,Subversion作为一款开源版本控制系统,其设计理念、特点及应用领域使其成为软件开发不可或...

    SVN版本管理 项目管理

    - **起源**: 2000年由CollabNet公司启动,目标是创建一个能够取代CVS的新一代版本控制系统。 - **发展**: 2001年8月发布首个版本,此后经历了多个版本的迭代升级,至2009年已经发展到了1.6版本。 - **特点**: 提供...

    CVS协同开发工具PPT

    - 新一代版本控制系统:如Git的出现,提供了分布式版本控制,更快的性能和更丰富的功能。 这个PPT内容全面地介绍了CVS的各个方面,对于想要了解或已经在使用CVS的开发团队来说,是一个宝贵的参考资料。通过学习,...

    SVN使用手册中文版

    最早接触这本书是在2004上半年,当时Subversion 1.0刚刚发布,而我很快把它引入到我们的项目当中,相对于CVS的简陋,Subversion显得非常的完备,是一个经过了深思熟虑的产品,是新一代开源项目的代表。

    Eclipse插件之SVN

    CVS 曾经是最流行的版本控制系统之一,但由于其存在的一些局限性,如不支持目录和文件元数据版本化、命名空间问题以及管理上的复杂性等,Subversion 应运而生,成为新一代版本控制系统的代表。Subversion 使用 ...

    svn配置实用手册-中文、英文

    相对于CVS的简陋,SVN显得非常的完备,是一个经过深思熟虑的产品,是新一代开源项目的代表。 代码管理并不单纯就是简单的代码管理,而是整个项目中的一部分,希望大家能够受益匪浅,我们共同进步

    SVN服务器VS2005客户端part2

    因此,在几年前,许多核心 CVS 开发人员认为,已经到了利用他们多年来使用 CVS 时学到的经验和教训、从头开始创建新一代开放源码存储库的时机。在 2004 年年初,他们的努力结出了丰硕的果实,那就是 Subversion 1.0...

    SVN服务器与VS2005客户端par1

    因此,在几年前,许多核心 CVS 开发人员认为,已经到了利用他们多年来使用 CVS 时学到的经验和教训、从头开始创建新一代开放源码存储库的时机。在 2004 年年初,他们的努力结出了丰硕的果实,那就是 Subversion 1.0...

    Subclise 使用指南

    与CVS相比,SVN采用了更现代的技术,例如利用Apache HTTP服务器作为后台服务,并支持开放协议如HTTP、WebDAV和DeltaV,使其成为新一代版本控制系统中的佼佼者。 Eclipse作为一个开放且可扩展的软件开发框架,凭借其...

    subversion 最新版 1.4.5

    subversion(SVN): 将是取代大名鼎鼎的cvs下一代版本控制系统,继承了cvs的优点摒弃了其缺点,由cvs的原班人马加上新一代高手开发,sourceforge将会用svn取代cvs。

    subclipse完全使用手册

    无论是新用户还是经验丰富的开发者,都可以通过本手册了解如何安装、使用和编译Subclipse。随着Subversion逐渐成为下一代版本控制系统的标准,掌握Subclipse的使用技巧对于从事软件开发的人来说将越来越重要。

    Subversion+TortoiseSVN+教程

    Subversion(简写为SVN)作为开源社区贡献的新一代版本控制系统,已经得到越来越广泛的使用。我用过CVS(Concurent Version System,SVN的前身)和微软的VSS(Visual SourceSafe),相比之下,SVN具有更强大的功能和...

    带有Subversion的版本控制Version Control with Subversion

    因此,寻找更加高效、稳定的新一代版本控制系统变得尤为迫切。 #### 二、Subversion简介 Subversion(简称SVN)是一种集中式版本控制系统,它的设计目标就是成为CVS的替代品。与CVS相比,SVN提供了许多改进之处: -...

    Subversion

    ### Subversion:新一代版本控制系统 #### 一、简介 **Subversion**,简称SVN,是一种集中式的版本控制系统,旨在为软件开发团队提供版本管理的支持。它被设计用来替代广泛使用的CVS系统,并解决了CVS的一些缺陷。...

    精通JBuilder.rar

    随着Java生态的发展,JBuilder逐渐被NetBeans、Eclipse、IntelliJ IDEA等新一代IDE所取代。尽管如此,JBuilder的很多设计理念和功能在现代IDE中仍得以延续和发扬,对于理解IDE的演化历程和提升Java开发技能仍有其...

Global site tag (gtag.js) - Google Analytics