- 浏览: 337448 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wangjun0603:
学习了,写的真好!
native2ascii的简单应用 -
qq672076266:
...
native2ascii的简单应用 -
loyalboys:
...
native2ascii的简单应用 -
hanjinting1004:
...
Flex开发者需要知道的10件事 -
管好你家猫:
学了,文章,
native2ascii的简单应用
原文出处:https://wiki.ubuntu.com/SubVersion 原文作者:ubuntu.com 授权许可:创作共用协议 翻译人员:XueCan 校对人员:无 适用版本:所有版本 文章状态:翻译中 本文档阐述了如何在 Ubuntu 上设置 Subversion(通常也被称为 svn)。我们假设本文的读者是具有一定经验的 Linux 用户和系统管理员。 如果您对 Subversion 还比较陌生,本节将给您一个关于 Subversion 的简要介绍。 Subversion 是一款开放源代码的版本控制系统。使用 Subversion,您可以重新加载源代码和文档的历史版本。Subversion 管理了源代码在各个时期的版本。一个文件树被集中放置在文件仓库中。这个文件仓库很像是一个传统的文件服务器,只不过它能够记住文件和目录的每一次变化。 首先我们假设您能够在 Ubuntu 中操作 Linux 的命令、编辑文件、启动和停止服务。当然,我们还认为您的 Ubuntu 正在运行中,您可以使用 要通过 HTTP 协议访问 SVN 文件仓库,您需要安装并配置好 Web 服务器。Apache 2 被证实可以很好的与 SVN 一起工作。关于 Apache 2 的安装超出了本文的范围,尽管如此,本文还是会涉及如何配置 Apache 2 使用 SVN。 类似的,要通过 HTTPS 协议访问 SVN 文件仓库,您需要在您的 Apache 2 中安装并配置好数字证书,这也不在本文的讨论范围之中。 幸运的,Subversion 已经包含在 main 仓库中。所以,要安装 Subversion,您只需要简单的运行: 如果系统报告了依赖关系的错误,请找出相应的软件包并安装它们。如果存在其它问题,也请自行解决。如果您是再不能解决这些问题,可以考虑通过 Ubuntu 的网站、Wiki、论坛或邮件列表寻求支持。 您应该已经安装了上述的软件包。本节将阐述如何创建 SVN 文件仓库以及如何设置项目的访问权限。 许多位置都可以放置 Subversion 文件仓库,其中两个最常用的是:/usr/local/svn 以及 /home/svn。为了在下面的描述中简单明了,我们假设您的 Subversion 文件仓库放在 /home/svn,并且你的项目名称是简单的“myproject”。 同样的,也有许多常用的方式设置文件仓库的访问权限。然而,这也是安装过程中最经常出现错误的地方,因此我们会对此进行一个详细说明。典型的情况下,您应该创建一个名为“Subversion”的组来拥有文件仓库所在的目录。下面是一个快速的操作说明,有关内容请参考相关文档的详细说明: 或者使用命令完成上述功能(增加组,并且把用户加到组里): 再或者直接使用命令编辑组文件"sudo vi /etc/group",增加组和成员(不推荐): 结果看上去,像这样。 您需要注销然后再登录以便您能够成为 subversion 组的一员,然后就可以执行签入文件(Check in,也称提交文件)的操作了。 现在执行下面的命令 下面的命令用于创建 SVN 文件仓库: 赋予组成员对所有新加入文件仓库的文件拥有相应的权限: 如果上面这个命令在创建SVN文件仓库之前运行,你可能在后续Check in的时候遇到如下错误: 查看txn-current-lock文件的权限和用户以及组信息,应该类似于: 除了权限以外,用户及其组如果不对,则仍然会遇到上述问题,可以再次运行命令: Subversion 文件仓库可以通过许多不同的方式进行访问(Check Out,签出)——通过本地硬盘,或者通过各种网络协议。无论如何,文件仓库的位置总是使用 URL 来表示。下表显示了不同的 URL 模式对应的访问方法: 这是所有访问方式中最简单的。它不需要事先运行任何 SVN 服务。这种访问方式用于访问本地的 SVN 文件仓库。语法是: 注意:如果您并不确定主机的名称,您必须使用三个斜杠(///),而如果您指定了主机的名称,则您必须使用两个斜杠(//). 对文件仓库的访问权限基于文件系统的权限。如果该用户具有读/写权限,那么他/她就可以签出/提交修改。如果您像前面我们说描述的那样设置了相应的组,您可以简单的将一个用户添加到“subversion”组中以使其具有签出和提交的权限。 要通过 WebDAV 协议访问 SVN 文件仓库,您必须配置您的 Apache 2 Web 服务器。您必须加入下面的代码片段到您的 /etc/apache2/mods-available/dav_svn.conf中: 如果需要用户每次登录时都进行用户密码验证,请将<LimitExcept GET PROPFIND OPTIONS REPORT>与</LimitExcept>两行注释掉。 当您添加了上面的内容,您必须重新起动 Apache 2 Web 服务器,请输入下面的命令: 接下来,您需要创建 /etc/subversion/passwd 文件,该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令: 它会提示您输入密码,当您输入了密码,该用户就建立了。“-c”选项表示创建新的/etc/subversion/passwd文件,所以user_name所指的用户将是文件中唯一的用户。如果要添加其他用户,则去掉“-c”选项即可: 您可以通过下面的命令来访问文件仓库: 它会提示您输入密码。您必须输入您使用 htpasswd 设置的密码。当通过验证,项目的文件就被签出了。 警告:密码是通过纯文本传输的。如果您担心密码泄漏的问题,我们建议您使用 SSL 加密,有关详情请看下一节。 通过具有 SSL 加密的 WebDAV 协议访问 SVN 文件仓库(https://)非常类似上节所述的内容,除了您必须为您的 Apache 2 Web 服务器设置数字证书之外。 您可以安装由诸如 Verisign 发放的数字签名,或者您可以安装您自己的数字签名。 我们假设您已经为 Apache 2 Web 服务器安装和配置好了相应的数字证书。现在按照上一节所描述的方法访问 SVN 文件仓库,别忘了把 http:// 换成 https://。如何,几乎是一模一样的! 当您创建了 SVN 文件仓库,您可以修改 /home/svn/myproject/conf/svnserve.conf 来配置其访问控制。 现在,您可以在“passwd”文件中维护用户清单。编辑同一目录下“passwd”文件,添加新用户。语法如下: 要了解详情,请参考该文件。 当您执行了该命令,SVN 就开始监听默认的端口(3690)。您可以通过下面的命令来访问文件仓库: 基于服务器的配置,它会要求输入密码。一旦通过验证,就会签出文件仓库中的代码。 要了解更多的 SVN 子命令,您可以参考手册。例如要了解 co (checkout) 命令,请执行: 一个实例: 认证失败的密码缓冲记录位置,明文密码。到1.6版本,可能使用keyring管理。如果调试密码,直接删除如下文件就可。 ~/.subversion/auth/svn.simple/: 配置和服务器进程于上节所述相同。我们假设您已经运行了“svnserve”命令。 我们还假设您运行了 ssh 服务并允许接入。要验证这一点,请尝试使用 ssh 登录计算机。如果您可以登录,那么大功告成,如果不能,请在执行下面的步骤前解决它。 svn+ssh:// 协议使用 SSH 加密来访问 SVN 文件仓库。如您所知,数据传输是加密的。要访问这样的文件仓库,请输入: 注意:在这种方式下,您必须使用完整的路径(/home/svn/myproject)来访问 SVN 文件仓库 基于服务器的配置,它会要求输入密码。您必须输入您用于登录 ssh 的密码,一旦通过验证,就会签出文件仓库中的代码。 您还应该参考 SVN book 以了解关于 svn+ssh:// 协议的详细信息。
目录
[隐藏]
[编辑]SubVersion服务安装设置
[编辑]简介
[编辑]假设
[编辑]本文涉及的范围
[编辑]安装
$ sudo apt-get install subversion
$ sudo apt-get install libapache2-svn
[编辑]服务器配置
[编辑]创建 SVN 仓库
sudo addgroup subversion
sudo usermod -G subversion -a www-data
$ sudo vi /etc/group
$ cat /etc/group|grep subversion
subversion:x:1001:www-data,exp
$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject
$ sudo svnadmin create /home/svn/myproject
$ sudo chmod -R g+rws myproject
Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied
$ ls -l /home/svn/myproject/db/txn-current-lock
-rw-rwSr-- 1 root subversion 0 2009-06-18 15:33 txn-current-lock
$ sudo chown -R root:subversion myproject
[编辑]访问方式
模式
访问方法
file:///
直接访问本地硬盘上文件仓库
http://
通过 WebDAV 协议访问支持 Subversion 的 Apache 2 Web 服务器
https://
类似 http://,支持 SSL 加密
svn://
通过自带协议访问 svnserve 服务器
svn+ssh://
类似 svn://,支持通过 SSH 通道
本节中,我们将看到如何配置 SVN 以使之能够通过所有的方法得以访问。当然这里我们之讨论基本的方法。要了解更高级的用途,我们推荐您阅读《使用 Subversion 进行版本控制》在线电子书。
[编辑]直接访问文件仓库(file://)
$ svn co file:///home/svn/myproject
或者
$ svn co file://localhost/home/svn/myproject
[编辑]通过 WebDAV 协议访问(http://)
<Location /svn/myproject>
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
sudo /etc/init.d/apache2 restart
sudo htpasswd -c /etc/subversion/passwd user_name
sudo htpasswd /etc/subversion/passwd other_user_name
$ svn co http://hostname/svn/myproject myproject --username user_name
[编辑]通过具有安全套接字(SSL)的 WebDAV 协议访问(https://)
[编辑]通过自带协议访问(svn://)
例如,您可以取消下面的注释符号来设置授权机制:# [general]
# password-db = passwd
username = password
#(注意行开始不要有多余空格)
现在,您可以在本地或者远程通过 svn://访问 SVN 了,您可以使用“svnserve”来运行 svnserver,语法如下:$ sudo svnserve -d --foreground -r /home/svn
# -d -- daemon mode
# --foreground -- run in foreground (useful for debugging)
# -r -- root of directory to serve
要了解更多信息,请输入:
$ svnserve --help
$ svn co svn://hostname/myproject myproject --username user_name
要同步文件仓库和本地的副本,您可以执行 update 子命令,语法如下:$ cd project_dir
$ svn update
$ svn co --help
或者这样
$ svn --help commit
或者直接
☎ svn help co
checkout (co): 从版本库签出工作副本。
使用: checkout URL[@REV]... [PATH]
。。。。。
☎ killall svnserve; svnserve -d -r /home/svn/
/home/svn/lj12-source/conf ☎ dog *
authz:[groups]
authz:lj12 = veexp
authz:[lj12-source:/] <-注意写法。
authz:veexp = rw
authz:@lj12 = rw
authz:* = passwd:[users] <-2个用户和密码。
passwd:veexp = icep
passwd:test = test
svnserve.conf:[general]
svnserve.conf:anon-access = none
svnserve.conf:auth-access = write
svnserve.conf:password-db = passwd
svnserve.conf:authz-db = authz <-如果不启用authz,则test也可以取出。
☎ svn co svn://localhost/lj12-source --username veexp
认证领域: <svn://localhost:3690> a712643f-661e-0410-8ad4-f0554cd88977
用户名: veexp “veexp”的密码:
A lj12-source/tim.h A lj12-source/en.c
......
eea34a6f7baa67a3639cacd6a428dba4
[编辑]通过具被SSH隧道保护的自带协议访问(svn+ssh://)
$ svn co svn+ssh://hostname/home/svn/myproject myproject --username user_name
[编辑]参考资料
摘自:http://wiki.ubuntu.org.cn/SubVersion
发表评论
-
org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache
2011-04-29 15:54 1366flex调用请求jsp页面时,报如下错误: or ... -
eclipse注释模板
2011-03-18 13:48 1519选择 window-->Preference ... -
vmware 无法安装
2011-02-23 19:10 916前些日子ubuntu用得好好的,这几天突然起不来了 ... -
ubuntu设置固定IP
2011-02-23 19:03 1046在网上查了一下,试了试,大概是这么个步骤。 ... -
linux svn命令记录
2010-12-13 16:31 10691、将文件checkout到本地目录 svn ... -
Ruby On Rails-2.0.2源代码分析(1)-Rails的启动
2010-11-09 14:54 1306前言 本文主要是针对Ruby On Ra ... -
各种系统架构图及其简介
2010-11-05 13:33 9611.Spring 架构图 Spring ... -
Flex里播放Gif图片
2010-11-02 18:11 3373http://www.flexrain.cn/demo/ ... -
文件搜索小软件everything
2010-11-02 14:33 689在群里看到一个人在大力推荐一个文件搜索软件Ever ... -
为Ruby的编辑器SciTE更改中文菜单
2010-10-26 19:18 1153安装完ruby后,默认的SciTE是英文的,我们去 ... -
Flash Socket通信的安全策略问题
2010-09-30 14:12 1157Flash Socket通信的安全策略问题 将flas ... -
Rational Rose Enterprise Edition 2003 安装破解步骤
2010-09-15 12:40 12231.下载Rational rose 2003安装文件,安 ... -
chm文件打不开问题解决方法
2010-09-15 09:22 839在公司换了一个机器,这个机器居然没发打开chm文 ... -
MyEclipse8.5 svn插件安装
2010-09-13 13:15 868安装subclipse, SVN 插件 1、从官网 ... -
MyEclipse 8.5和Flash Builder 4 plug-in集成
2010-09-10 19:36 3352总算是成功的安装上了flashbuilder,参照网上诸 ... -
eclipse统计代码行数
2010-08-16 09:02 1362打开Search中的File Search,在co ... -
苹果任务栏
2010-08-04 13:38 1011RocketDock 让你在使用 Windows 更加的动感 ... -
浏览器可视大小
2010-07-19 12:43 1378网站设计时,有 ... -
画原型
2010-04-27 12:51 42161 visio 用visio制作线框图原型 ... -
软件业的人力外派与人员素养
2009-11-26 14:26 1151人力外派,这个行当有人熟悉有人不熟悉,同时又被很多人 ...
相关推荐
离线安装SVN有助于在无网络环境或限制网络访问的场景下部署版本控制服务。通过遵循上述步骤,即使在Ubuntu 16.04 LTS上也可以顺利安装并使用SVN 1.9.3版本,从而提升团队的开发效率和协作能力。记住,维护好版本控制...
Ubuntu中安装subversion服务器,Ubuntu中安装subversion配置服务器,超级详细!
在Ubuntu系统中安装Subversion(也称为SVN)是进行版本控制系统部署的关键步骤,这对于团队协作开发软件项目尤其重要。Subversion是一个开源的版本控制系统,它允许用户跟踪文件和目录的变化,并管理多个用户对同一...
这篇博文将详细介绍如何在Ubuntu上安装Subversion。 首先,我们需要更新系统的软件包列表,以确保我们可以获取到最新的版本。打开终端并输入以下命令: ```shell sudo apt-get update ``` 接下来,安装Subversion...
详细介绍Ubuntu下搭建 Subversion 服务器过程,以及svn的使用、常用命令、用户权限、清理和删除等,对初级开发者会有一定帮助
1. **安装Subversion:** 首先确保Ubuntu 10.04系统已安装Subversion。可以使用`sudo apt-get install subversion`命令进行安装。 2. **创建SVN仓库:** 使用`svnadmin create /home/svn/`命令创建一个新的SVN仓库...
1. **启动服务**:根据你的Linux发行版,可能需要启动或设置Subversion服务自动启动。 2. **导入数据**:使用 `svn import` 命令将已有项目导入到版本库,例如: ```bash # 进入bin目录 cd /home/local/subversion/...
在Ubuntu系统中安装...总的来说,Ubuntu上的Subversion安装涉及更新系统、安装Subversion和Apache模块、配置Apache以提供HTTP访问,以及创建用户和权限。这个过程将使你能够在团队中有效地管理和共享代码资源。
在Ubuntu操作系统下安装SVN服务器是一个较为直接的过程,虽然本指南针对的是Ubuntu 9.10版本,但其基本步骤对于大多数Ubuntu及其衍生版本都是适用的。SVN,即Subversion,是一种版本控制系统,广泛用于代码的版本...
在 Ubuntu 系统上安装并配置 Subversion (SVN) 服务器是一种常见的需求,尤其是对于那些希望在本地网络环境中进行版本控制的团队来说。下面我们将详细介绍如何在 Ubuntu 系统上安装和配置 SVN 服务器。 ##### 1. ...
配置Subversion安装,确保它与系统环境兼容,并指定安装路径: ```bash ./configure --prefix=/usr/local/svn ``` 编译和安装Subversion: ```bash make sudo make install ``` 安装完成后,我们需要创建一个SVN...
【Ubuntu+svn+ssl+ldap】的安装及集成是一个复杂的过程,涉及到Ubuntu操作系统、Subversion (SVN) 版本控制系统、SSL安全套接层以及Lightweight Directory Access Protocol (LDAP) 用户认证。以下是对这些技术的详细...
### Ubuntu系统下安装Reviewboard详解 #### 一、概述 本文档将详细介绍如何在Ubuntu系统上安装并配置Reviewboard,一款流行的代码审查工具。通过本文档的学习,您将能够掌握安装过程中所需的关键步骤以及相关软件的...
Samba配置涉及多个步骤,包括安装samba服务、创建共享目录、配置smb.conf文件以及设置权限和用户访问控制。 四、Subversion (SVN) 配置 SVN已设置好,可通过HTTP协议访问,地址为`...
本文档详细介绍了在Ubuntu操作系统下设置开发服务器的步骤,包括RAID阵列的创建、操作系统的安装、软件源的配置以及后续的Samba和SVN服务的设定。以下是对这些关键步骤的深入解析: 1. **RAID创建** RAID(冗余...
linux下安装subversion所有依赖文件可离线(无网状态下)安装subversion依赖包包含apr apr-util scons python openssl zlib-devel sqlite subversion 安装方法参见:...
总结:本文档详细介绍了如何在Ubuntu上搭建一个用于开发工作的服务器,涵盖了从硬件RAID设置到软件安装和服务器服务配置的全过程。对于希望在Ubuntu环境中构建类似服务器的开发者或系统管理员来说,这是一个宝贵的...