平时的团队开发,少不了要用一个协作工具。对于以前,无疑cvs是个无错的选择(像IBM的全球代码维护)。但是,科技在发展吗,现在有了更好的svn了,所以直接就是svn吧。有关svn的具体信息可以上它的官网或www.subversion.org.cn
网上关于svn的也不少,不过感觉大都出自一处,也不知道quote的人真的试过没有。当然,学习吗,但个人感觉学完人家的东西一定要有自己的体会。下面是我的一个简单的配置过程。
首先,肯定是svn的安装,这个很简单:
sudo apt-get install subversion
sudo apt-get install libapache2-svn(这个是和apache配合使用的,apache的安装就不说了)
完成安装后,给系统添加一个用户组(如svn),把想要加入这个组的加一下(至少要把你自己加进吧)。
显然,像代码维护,版本控制这种东西,肯定是cs结构的。所以下面先从svn服务器的配置说起。
svn服务器的配置和简单管理
svn服务器端的配置主要是一个资源库的创建,这个资源库可以就一个,也可以是一个树状结构的(不建议使用森林结构)。我想创建一个test资源库,并把它放在/usr/local/svn下(资源库一般都放在/usr/local or /home下):
$cd /usr/local/
$sudo mkdir svn
$sudo mkdir svn/test
$sudo chown -R root:svn svn/
$sudo chmod -R g+rws svn/
准备工作做好了,下面就是创建资源库了:
$sudo svnadmin create /usr/local/svn/test
好了,这样一个资源库就建好了,很简单,如果你要ls /usr/local/svn/test一下,就会发现出现了一些文件和文件夹(如,conf db等),它们的作用就不说了,去org上看吧。
别急,这时你还要做些工作
$sudo chown -R root:svn svn/
$sudo chmod -R g+rws svn/
如果没有这个,接下来就可能会出错,除非你是root。
还有一些好使的工具,如svnlook,svnadmin,svndumpfilter,他们涉及到svn资源库管理的方方面面,很强大,这里不介绍了,用的时候就查吧www.subversion.org.cn/svnbook。需要注意的是,这些管理工具的使用,后面跟的是绝对路径,不要和下面客户端的所使用路径混淆。
svn客户端的使用
svn客户端就是用来访问操作资源库资源的,它有多方式,如直接的file访问,自带协议的访问,http,https等待。这里只介绍两种,即file直接访问和自带协议的访问。
直接访问
所谓直接访问就是通过命令行直接对资源库进行访问。下面是一些例子:
我在我的家目录下有个workspace文件夹,下面有个用eclipse创建的简单工程叫com.sun.yangsq。我想把他维护到资源库中
$cd workspace
$svn import com.sun.yangsq file:///usr/local/svn/test/com.sun.yangsq/trunk -m "test import"
这样,这个工程就被import到资源库了。
如果想查看一下资源库的信息,可以使用
$svn list file:///usr/local/svn/test/
如果想查看log信息,可以使用
$svn log file:///usr/local/svn/test/
此外,svn还有好多的命令可以使用,如checkout(co),diff,move,delete,add等等,上网查去吧。
自带协议(svn://)的使用
subversion自带了一种访问协议,很好用。但是,如果要使用这种协议,需要启动svnserve,这也很简单,如下:
$svnserve -d
这样就把本地的所有资源发到了网上,默认3690端口。访问时使用的路径如:
svn://ip/usr/local/svn/test/..... (这个ip不用带端口)
如果只想发布某个资源,可以使用
$svnserve -d -r /usr/local/svn/test
访问时使用的路径如:
svn://ip/com.sun.yangsq
如果要checkout,可以
$svn checkout svn://ip/com.sun.yangsq
需要注意的是,客户端在使用类似svn,http://这种网络协议访问资源时(即通过svnserve进程),会通过一定的权限验证,这种验证是通过资源的一些配置文件设定的。如在本例中,这些配置文件放在了/usr/local/svn/test/conf/下,包括三个authz,passwd,svnserve.conf。这三个文件的配置就不详谈了。另外的几种客户端方式如http也不介绍了,svnbook上去看,都有。
如果想通过网络方式,即svn,http等访问(推荐使用这种方式,而不是file://方式),必须要把svnserve进程启动,如果你不小心把机器重新启动了,一定要手动把它再启动一边。
svn确实很好使,eclipse也有它的插件(叫sublipse),很方便。但是,如果要想使好,还得好好琢磨琢磨。
分享到:
相关推荐
在 Ubuntu 系统上安装并配置 Subversion (SVN) 服务器是一种常见的需求,尤其是对于那些希望在本地网络环境中进行版本控制的团队来说。下面我们将详细介绍如何在 Ubuntu 系统上安装和配置 SVN 服务器。 ##### 1. ...
【Ubuntu+svn+ssl+ldap】的安装及集成是一个复杂的过程,涉及到Ubuntu操作系统、Subversion (SVN) 版本控制系统、SSL安全套接层以及Lightweight Directory Access Protocol (LDAP) 用户认证。以下是对这些技术的详细...
在Linux或Ubuntu环境中,配置SVN(Subversion)服务器自动发送邮件主要涉及到以下几个关键步骤,这些步骤可以帮助开发者在每次提交代码时,自动收到包含提交信息的邮件通知。 首先,我们需要下载`commit-email.pl`...
本文将详细介绍如何在Ubuntu环境下搭建并配置SVN服务器。 #### 二、环境准备 首先确保你的Ubuntu系统是最新的,并安装了必要的软件包。可以通过以下命令更新系统: ```bash sudo apt-get update sudo apt-get ...
SVN使用Apache HTTPD服务器提供服务,所以需要配置Apache来允许用户访问仓库。首先安装Apache: ``` sudo apt install apache2 ``` 然后启用`mod_dav_svn`和`mod_authz_svn`模块: ``` sudo a2enmod dav_...
在Ubuntu 16.04 LTS环境下搭建Subversion(SVN)服务器的完整步骤如下: 1. 安装SVN 首先,需要使用APT包管理器安装SVN服务。打开终端,输入以下命令: ``` sudo apt-get install subversion ``` 2. 安装Apache2 ...
为此,本教程将详细介绍如何在Ubuntu环境下安装界面化的SVN客户端——RabbitVCS,使其能够访问Windows服务器上的SVN仓库。RabbitVCS是一款轻量级且易于使用的SVN和Git客户端,它集成了Nautilus文件管理器,为用户...
在Ubuntu环境下,通过图形用户界面(GUI)安装和使用SVN,可以极大地方便非技术背景的团队成员参与项目,降低学习成本,提高团队整体的工作效率。 ### 安装步骤详解 #### 1. 安装基础依赖包 首先,确保系统中已经...
本文旨在详细介绍如何在Ubuntu环境下搭建SVN(Subversion)服务器,并结合Apache服务器以及SSL加密技术,实现安全、高效的版本控制服务。通过HTTPS协议访问SVN服务器,确保数据传输的安全性;同时,采用基于Apache的...
【概述】 ...以上就是Ubuntu环境中配置SVN+Apache+SSL的详细步骤,包括安装、配置、权限设置以及SSL安全连接的建立。通过这样的设置,你的团队可以安全地协作开发项目,同时确保代码仓库受到保护。
本文将详细介绍 Ubuntu 环境下搭建 SVN 服务器的过程,包括安装 Ubuntu 服务器、安装 Apache 服务器、创建 SVN 服务器、配置 Apache 服务器、设置 SVN 权限等步骤。 标题:Ubuntu 上搭建 SVN 服务器全攻略 描述:...
在Ubuntu环境中配置和使用SVN,开发者可以有效地协同工作,管理项目版本,确保代码的稳定性和可追溯性。了解并遵循上述目录结构和最佳实践,可以提高开发效率,降低维护成本,是软件项目管理中不可或缺的一部分。
文档最后提供了参考文献以及三个附录,分别介绍远程修改SVN用户口令的工具使用方法、修改Ubuntu 8.10 IP地址的步骤和在Ubuntu下配置SSH服务的指导。 总结来说,这个教程详细地阐述了在Ubuntu 8.10系统上建立一个...
本文将详细介绍如何在Linux环境下安装和配置Subversion (SVN) 服务器及其客户端。Subversion是一款开源的版本控制系统,广泛应用于软件开发过程中的代码管理。通过本文的学习,您将能够独立完成SVN服务器的安装与...
### 64位Ubuntu下Android开发环境配置 #### 必要配置 为了在64位Ubuntu上搭建Android开发环境,我们需要完成一系列必要的配置步骤。这些步骤涵盖了从硬件要求到特定软件包的安装。 ##### 1. 硬件要求 - **物理...
在Linux下,使用Apache HTTPD或Nginx作为SVN前端,配置SSL模块。 **9. 备份和恢复** 定期备份SVN仓库是非常重要的。可以使用SVN的热备份功能,或者直接复制仓库文件。在恢复时,只需替换备份的仓库文件。 通过...
在这个过程中,我们将详细讲解如何在Linux环境下安装SVN 1.5.4版本,这对于初学者来说是一个很好的起点。 首先,确保你的Linux系统是最新的。通过运行以下命令更新你的包列表: ```bash sudo apt-get update sudo ...
总之,Ubuntu上的MyEclipse 10与SVN插件的结合,为开发者提供了一个强大的工具集,使得在Linux环境下进行Java项目的版本控制变得更加便捷高效。通过正确安装和配置,你可以充分利用这两个工具的特性,提升开发效率和...
在本文中,我们将深入探讨如何在Ubuntu 14.04 LTS系统上,基于源码编译并安装Subversion 1.9.4,以及它所依赖的APR(Apache Portable Runtime)1.5.2和APR-Util 1.5.4库。这个过程对开发者和技术人员来说是必要的,...