hglo 发表于 2015-8-2 07:48:44

Linux Server 5.5安装SVN+Apache服务[转]

Enterprise 5.5安装SVN+Apache服务
  
前言
(简称)是近年来崛起的版本管理软件,是的接班人。 是一个自由 / 开源的版本控制系统。也就是说,在 管理下,文件和目录可以超越时空。也就是 允许你的数据恢复到早期版本,或者是检查数据修改的历史。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。目前,绝大多数开源软件都在使用 作为代码版本管理软件。
支持 和,更多是安装在下。
服务器有 2 种运行方式:独立服务器和借助。2 种方式运行各有利弊。
存储版本数据也有 2 种方式:和。因为方式在服务器中断时,有可能锁住数据,所以还是方式更安全一点,常见的创建数据版本库也都是使用方式。
相关平台软件
+软件安装包下载推荐,在所有平台上的安装文件都在此站有免费下载,选择要在什么操作平台上进行安装配置,就下载相应的安装文件,进行安装配置。
www.open.collab.net/cn/downloads/subversion/redhat.html
我所使用到的安装文件如下:







  
安装过程:
  安装非常简单容易,安装已经编译过的 rpm 文件即可!
  首先安装,安装说明原文如下:
  CollabNet Subversion RPMs are signed using our GPG key. As a one-time task,
import the CollabNet GPG key using the command:
  sudo rpm --import /path/to/RPM-GPG-KEY-csvn.asc
The CollabNet GPG key is available for download at:
http://www.collab.net/nonav/downloads/subversion/gpg-key/RPM-GPG-KEY-csvn.asc
  按照说明操作即可进行下一步安装,否则会有提示告知。打开终端,切换到 root 帐号:
  # rpm --import RPM-GPG-KEY-csvn.asc
  签名文件安装后,接着就可以进行下面的安装了。
  先安装 client ,然后 server ,最后是 extras ,顺序一次进行安装下去。
  # rpm -ivh CollabNetSubversion-client-1.6.9-1.i386.rpm
Preparing... ###########################################
1:CollabNetSubversion-cli###########################################
#
  client 端安装完成;
  # rpm -ivh CollabNetSubversion-server-1.6.9-1.i386.rpm
Preparing... ###########################################
1:CollabNetSubversion-ser###########################################
#
  server 端安装完成;
  # rpm -ivh CollabNetSubversion-extras-1.6.9-1.i386.rpm
Preparing... ###########################################
1:CollabNetSubversion-ext###########################################
#
  extras 端也顺利安装完成;
这样三个 rpm 安装文件就顺利安装完成了。 此时,系统也就自动增加了一个 csvn 用户/组。
# more /etc/passwd
csvn:x:502:501:CollabNet Subversion:/opt/CollabNet_Subversion:/bin/bash
# more /etc/group
csvn:x:501:
SVN相关的程序目录也创建完成;


  
接着进行的配置:
在 /opt/CollabNet_Subversion/bin 目录下执行 Configure-CollabNet-Subversion ,一步一步按照提示操作即可顺利完成简单的服务配置。
# ./Configure-CollabNet-Subversion
CollabNet Subversion Server is a free download of open-source Subversion,
  compiled and tested by CollabNet. For more information about CollabNet
  Subversion, visit the CollabNet community at http://open.collab.net.
  Would you like to configure the CollabNet Subversion Server now? (直接回车)
  Welcome to CollabNet Subversion Server setup.
  You will now be asked some questions to configure CollabNet Subversion.
  Defaults are given in square brackets. If a default is okay for you
  Just hit to continue.
  This setup can configure either Apache or svnserve as Subversion
  server, for you. Would you like to configure Apache as your
  Subversion server now? (直接回车)
  Continuing with apache Subversion server configuration ...
  Specify the base directory for Subversion repositories: /opt/SVNRepositories (这里我更改了SVN仓库存储路径,不使用默认的路径。)
  Non-existing base path, Let me create and continue (直接回车)
  Base path created.
  Would you like to create a new Subversion repository? (直接回车)
  What should be your new Subversion repository name? DEOM (这里建立一个名为 DEMO 的测试用库)
  New repository created.
  Would you like to initialize the repository with trunk/branches/tags folders? (直接回车)
  Done.
  Would you like to create another Subversion repository? (直接回车)
  What should be your new Subversion repository name? svntest (这里再建立一个名为 svntest 的库)
  New repository created.
  Would you like to initialize the repository with trunk/branches/tags folders? (直接回车)(暂时不导入初始数据)
  Done.
  Would you like to create another Subversion repository? no (已经建立了2个测试用库,就不再建了。)
  Would you like to give the name and port that the server uses to identify itself?
  Registered DNS name or IP address: 192.168.168.159 (这里IP是指 apache 的服务“IP”配置。)
  Server port number: 18080 (apache的服务端口号)
  Allow anonymous read access? (直接回车)
  0 users currently have access to this repository:
  Would you like to create a new Subversion account? (直接回车)
  Account username
  (To re-create or delete a Subversion account, enter an existing username): svnadmin (建立一个SVN帐号)
  Account password: (密码)
  Retype account password: (重复密码)
  Adding password for user svnadmin
  Account created
  Would you like to create another user account? no (暂时不需要再建另一用户了)
  Would you like to configure ViewVC? (是否启用VierVC,直接回车)
  Stopping CollabNet Subversion: httpd (no pid file) not running
  done
  Starting CollabNet Subversion: done
  (此时,+服务也顺利地配置完成了。最后的提示信息如下:)
  Congratulations! You have successfully configured the CollabNet
  Subversion server.
  You can access your repositories at the following URL:
  http://192.168.168.159:18080/svn/YOUR-REPOS-NAME
  http://192.168.168.159:18080/viewvc/YOUR-REPOS-NAME
  最后,配置完成后进行检查:
  # ps -ef|grep httpd
root 2569 1 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2588 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2595 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2596 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2597 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2599 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 2600 2569 0 18:16 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3809 2569 0 18:18 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3813 2569 0 18:18 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3814 2569 0 18:18 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3836 2569 0 18:21 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
csvn 3839 2569 0 18:21 ? 00:00:00 /opt/CollabNet_Subversion/bin/httpd -D csvn_installed -D viewvc_installed -k start
root 4696 4113 0 19:56 pts/1 00:00:00 grep httpd
  在浏览器中访问SVN服务;
  http://192.168.168.159:18080/svn/DEMO

  :浏览器上的地址栏!
  http://192.168.168.159:18080/viewvc

  小结:
  到此,+服务就搭建完成了,SVN 是个很好的版本控制软件,好好的享受它带来的无限乐趣吧!
  
  
  
  


  
  1、将文件checkout到本地目录

svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.168.159:18080/pro/domain
简写:svn co  2、往版本库中添加新的文 件

svn addfile
例如:svn add test.php(添加test.php)
svn add*.php(添加当前目录下所有的php文件)  3、将改动的文件提交到版 本库

svn commit -m "LogMessage" [-N][--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)
例如:svn commit -m "add test file for my test" test.php
简写:svn ci  4、加锁/解锁

svn lock -m "LockMessage" [--force] PATH
例如:svn lock -m "lock test file" test.php
svn unlock PATH  5、更新到某个版本

svn update -r m path
例如:
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件, 然后清除svn resolved,最后再提交commit)
简写:svn up  6、查看文件或者目录状态

1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
2)svn status -v path(显示文件和子目录状态)
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st  7、删除文件

svn delete path -m "delete test fle"
例如:svn delete svn://192.168.168.159:18080/pro/domain/test.php -m "delete test file"
或者直接svn delete test.php 然后再svn ci -m 'delete test file‘,推荐使用这种
简写:svn (del, remove, rm)  8、查看日志

svn log path
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化  9、查看文件详细信息

svn info path
例如:svn info test.php  10、比较差异

svn diff path(将修改的文件与基础版本比较)
例如:svn diff test.php
svn diff -r m:n path(对版本m和版本n比较差异)
例如:svn diff -r 200:201 test.php
简写:svn di  11、将两个版本之间的差 异合并到当前文件

svn merge -r m:n path
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)  12、SVN 帮助

svn help
svn help ci  ------------------------------------------------------------------------------
  以上是常用命令,下面写几个不经常用的
  ------------------------------------------------------------------------------
  13、版本库下的文件和目 录列表

svn list path
显示path目录下的所有属于版本库的文件和目录
简写:svn ls  14、创建纳入版本控制下 的新目录

svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH...
2、mkdir URL...
创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。  15、恢复本地修改

svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH...
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
被删除的目录  16、代码库URL变更

svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL
2、switch --relocate FROM TO   1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
方法。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动
(比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
这个命令更新工作副本与仓库的对应关系。
  17、解决冲突

svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH...
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
相关文件,然后让 PATH 可以再次提交。  18、输出指定文件或 URL的内容。

svn cat 目标[@版本]...如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)
From:http://hi.baidu.com/zxf5678766/blog/item/4617d3eb6785fe5379f05594.html
页: [1]
查看完整版本: Linux Server 5.5安装SVN+Apache服务[转]