Gentoo Linux: Subversion

安装 添加需要的USE 标记:(如果愿意加入到/etc/make.conf 中作为全局配置也可以) # echo 'dev-util/subversion svnserve apache2' >> /etc/portage/package.use emerge subversion 服务器与客户端程序: # emerge...

安装

添加需要的USE 标记:(如果愿意加入到/etc/make.conf 中作为全局配置也可以)

# echo 'dev-util/subversion svnserve apache2' >> /etc/portage/package.use

emerge subversion 服务器与客户端程序:

# emerge subversion
[ebuild   R   ] dev-util/subversion-1.4.6-r1  USE="apache2 berkdb emacs java nls perl python ruby svnserve* -bash-completion -debug -doc -extras -nowebdav -vim-syntax" 0 kB  

注意:subversion 依赖于apache 服务,如果系统中没有apache,会自动添加入emerge 列表。

安装好后产生以下主要的文件:

/usr/bin/svnadmin   		用于建立一个repository,也就是一个svn版本库服务
/usr/bin/svn   			svn客户端命令行程序
/etc/init.d/svnserve		svn后台服务程序
/etc/conf.d/svnserve    	svn服务配置文件

配置

默认的配置文件使用/var/svn 作为repository 的根目录,不做修改。

使用root 建立/var/svn 目录,然后建立独立的repository目录: prj。

# mkdir /var/svn
# mkdir /var/svn/prj

现在使用前面创建的路径建立一个repository。

# svnadmin create /var/svn/prj 

这会生成一些目录结构与文件在/var/svn/prj 下面,编辑配置文件/var/svn/prj/conf/passwd,加入svn 授权连接用户与密码。

myusername - mypassword 

接下来编辑repository配置文件/var/svn/prj/conf/svnserve.conf,去除掉以下行的注释:

anon-access = read
auth-access = write
password-db = passwd

注意:行首不要留有空格。 

下面还需要给svn root 目录/var/svn 以及下面的repository 正确的授权,以使以apache用户运行的svnserver 能够正确的存取它们。执行以下命令:
# chown -R apache:root /var/svn 

 现在repository 已经准备好了,可以启动svn 服务,并设置为跟随系统自动启动。

# /etc/init.d/svnserve start
# rc-update add svnserve default 

至此,svn server已经在运行,并且为一个叫做prj的项目建立了一个repository,同时为这个repository设置了连接用户。

下面我们选择一个路径作为保存working copy 的目录,比如位于$HOME ,进入此目录,并首先将prj 项目check out,执行以下命令:

$ cd $HOME
$ svn checkout svn://localhost/prj

第一次执行此命令,svn会提示输入用户名与密码,然后保存在$HOME/.subversion 目录中。以上会在HOME 中目录建立目录$HOME/prj ,并包含$HOME/prj/.svn 用于保存版本控制的文件。

现在可以向$HOME/prj 中copy 项目文件。使用svn add PATH 命令加入版本控制信息,svn -m "message" commit PATH 命令进行提交。

参考信息

Subversion 安装笔记

subversion 是一个开源的版本控制软件,虽然在稳定性方面较cvs还有些距离,不过很受追捧,牛顿顿说,这主要得益于subversion在处理大项目效率方面的优势,目前版本是1.4.4。 安装subversion 服务 在这里 下载subversion 的windows 平台软件包,解压缩即可。 然后打开一个DOS 命令行,进入到解压缩的bin目录,运行以下命令创建一个repository(存放版本控制信息的地方)。把PROJECT_NAME 替换为你需要的项目名称。 C:\svn\bin> mkdir \repository\subversion\PROJECT_NAME C:\svn\bin>...

subversion 是一个开源的版本控制软件,虽然在稳定性方面较cvs还有些距离,不过很受追捧,牛顿顿说,这主要得益于subversion在处理大项目效率方面的优势,目前版本是1.4.4。

安装subversion 服务

这里 下载subversion 的windows 平台软件包,解压缩即可。

然后打开一个DOS 命令行,进入到解压缩的bin目录,运行以下命令创建一个repository(存放版本控制信息的地方)。把PROJECT_NAME 替换为你需要的项目名称。

C:\svn\bin> mkdir \repository\subversion\PROJECT_NAME
C:\svn\bin> svnadmin create \repository\subversion\PROJECT_NAME

然后参照这里的安装指南 把subsersion安装为windows系统服务,并在启动时加载。意等号后面必须留有空格。

C:\svn\bin> sc create svn binpath= "C:\svn\bin\svnserve.exe --service 
-r C:\repository\subversion" displayname= "Subversion Server" 
depend= Tcpip start= auto

注意:执行命令时,需要把subversion 的安装路径以及repository 的路径替换成你自己的路径。svn 是服务名称,你也可以随便命名。

这个系统服务可以通过 sc delete svn 命令删除,服务的启动有两种方式:sc start svn 或者 net start svn 。具体可以参考windows 的sc  以及net 命令。

配置版本库权限

配置文件位于 .\repository\subversion\PROJECT_NAME\conf\ 目录

passwd 文件定义了存取版本库的用户名与密码,格式为:

myusername - mypassword 

svnserve.conf 文件需要添加如下几行:

anon-access = noneauth-access = writepassword-db = passwd 

如够希望匿名用户可以checkout 版本库,那么修改第一行为 anon-access = read。 下面一行用于复杂一些的权限配置,如果添加此行,需要配置authz 文件,在这里我把此行注释掉。

# authz-db = authz 

另外还有一行用于定义Project名称,但经过实验,这行可以省略。

# realm = PROJECT_NAME 

至此,subversion 服务安装完成,并且创建了一个版本库。如果已经安装了subversion客户端,则可以通过svn://localhost/PROJECT_NAME 进行访问。

subversion 客户端

subversion 的客户端在windows 可以使用tortoiseSVN 或者subversion eclipes plugin. 

tortoiseSVN 是一个基于subversion服务的windows GUI,并集成了tortoiseMerge 版本比较工具。它和Windows 资源管理器紧密地结合在一起,以插件形式出现,来进行版本控制操作,当前版本也是1.4.4。

使用subversion eclipes plugin 需要先安装eclipes,然后通过插件更新安装subversion plugin,安装完成后,就可以像使用cvs 一样在eclipes 中使用subversion。

在这里下载 tortoiseSVN 1.4.4,安装完成之后,在资源管理器中点击右键,就会看到相关菜单。可以在资源管理器找到要管理的源代码,在目录上点击右键,选择TortoiseSVN 菜单中的Import ,并在Url of repository 下来菜单中选择刚才创建好的repository 即可。然后在working copy 目录中将代码checkout,就在working copy 目录中实现了代码的版本管理。

版本库备份

如果需要对项目版本库备份,只需要把整个.\repository\subversion\PROJECT_NAME 目录备份即可,如果需要在另一台还原备份,需要先安装好subversion服务与客户端(不必创建repository),然后把上述目录copy到svn服务所引用的目录中即可(本例为 c:\repository\subversion)。然后刷新subversion client,通过认证即可看到版本库。

参考信息

mail.png


标签订阅|Tag Subscription

If you use an RSS reader, you can subscribe to a feed of all future entries tagged 'SVN'. [What is this?]

Subscribe to feed Subscribe to feed

最近更新|Recent Entries

不定期更新|Handy Entries

其它标签|Other Tags

分类栏目|Categories

按月归档|By Month

2008
11
10
07
05
04
03
02
01
2007
12
10
07
06
05
04
03
02
01
2006
12
11
10
09
08
07
06
05
04
03
02
01
2005
11
10
09
08
07
04
03
2004
12
11
10
09
08
07
06
05
04
03
02
01
2003
12
10
09
08
06
2002
09
08
04
03
02
2001
12
09
07
06
05

站内链接|Site Links

Powered by
Movable Type 3.34