搭建 SVN 服务器
安装、启动 SVN 服务器
在 Windows 下,可以使用以下命令将 SVN 服务注册到 windows 服务中去:
sc create svnserver binPath= "driver:\path\to\svnserve.exe --service -r x:/svnroot" DisplayName= "Svn Service" start= auto
也可以通过以下命令直接运行 svn 服务:
svnserve -d -r x:/svnroot
以上命令中,x:/svnroot 是仓库的根目录位置。
创建、配置 SVN 仓库
知道 SVN 仓库的启动之后,可以在 SVN 仓库的根目录下创建各个项目的仓库。命令如下:
cd x:\svnroota
svnadmin create firstrep
这样就完成 firstrep 项目的仓库创建。接下来需要配置仓库的权限:
cd firstrep\conf
notepad svnserve.conf
将其中的以下内容去掉注释:
# anon-access = read
auth-access = write
password-db = passwd
# authz-db = authz
# realm = My First Repository
如果需要详细配置用户的目录访问权限,需要将 authz-db 去掉注释。
以上配置中,各配置项的作用是:
- anon-access 设置匿名用户是否可以访问 SVN 仓库,访问权限是什么
- auth-access 设置认证用户是否可以访问 SVN 仓库,访问权限是什么
- password-db 设置认证用户的用户名及密码
- authz-db 设置认证用户对各个目录的访问权限
- realm 设置仓库所在的域
接下来在 password-db 中加入用户,可以参考配置该文件已有的格式:
[users]
# harry = harryssecret
# sally = sallyssecret
username = password
zhangsan = 123456
这样,就完成了一个项目的 SVN 仓库搭建,如果要搭建另外一个项目,同样在 x:/svnroot 目录下再次运行 svnadmin create 即可。当前所创建的 svn 仓库,其地址为:
svn://local.ip.com/firstrep
SVN 常用客户端命令
客户端配置
使用客户端,一般要在客户端进行编辑器的配置,以便于提交时使用适当的编辑器进行日志编辑。该类配置一般在以下目录中:
c:\Documents and Settings\Administrator\Application Data\Subversion
C:\Users\Administrator\AppData\Roaming\Subversion
~/.subversion
etc/subversion
目录中包含以下文件
README.txt
auth*
config
servers
可以在 config 中配置如 editor, diff 等外部命令。比如,写提交日志的时候,就要用到指定的 editor,比较文件的时候,就要用到 diff
另外一点重要的是,如果要设置部分文件为非二进制的文件,需要在 auto-props 中指定。如,muse 文件可能会被 svn 认定为二进制文件,所以需要指定如下:
[miscellany]
......
enable-auto-props = yes
......
[auto-props]
......
*.muse = svn:eol-style=native;svn:mime-type=text/plain
......
初始化项目
初始化项目,实际上就是将一个没有进行版本管理的项目导入到 SVN 中进行版本管理。其命令举例如下:
svn import project_dir svn://ip.to.svn.com/firstrep/trunk
或者直接
svn import project_dir svn://ip.to.svn.com/firstrep
前后两者的区别是,前者将一个项目按习惯分为三个目录:
firstrep 项目目录
+- trunk 项目主干,项目的主要功能都放在这里
+- tags 项目标签,项目完成的里程碑版本复制到这里
\- branch 项目分支,项目发布之后,需要继续维护,放在这里
后者就直接将整个项目放在根目录下了。前者分为三个目录只是习惯或者最佳实践,其实自己可以根据需要决定怎么将文件放存放在各个目录中去。
开发项目
项目初始化完成之后,可以从仓库中取出项目进行开发,如,要将 trunk 中的代码取出放到 myproject 目录中去,可以执行以下命令:
svn co svn://ip.to.svn.com/firstrep/trunk myproject
在开发项目的过程中,最常用的有以下的命令:
# 从仓库中取出最新的版本
svn up
# 提交当前修改到仓库中去
svn ci
# 查看当前本地的状态,有哪些文件有变动
svn st
# 查看本地的文件和仓库中的文件有什么区别
svn diff xyz.java
# 查看本地文件与仓库中之前的一个版本有什么区别
svn diff -rPREV xyz.java
# 用仓库中的文件覆盖本地的文件
svn revert xyz.java
# 查看最近10次提交了哪些文件
svn log -l 10 -v
# 查看从 2012-5-3 之后的提交日志
svn log -r{2012-5-3}:HEAD
# 查看这个文件的各行是由谁编辑的
svn ann xyz.java
# 设置当前文件夹中 lib 目录不进行版本管理
svn ps svn:ignore lib .
# 查看当前文件夹中有哪些文件没有进行版本管理(忽略)
svn pg svn:ignore .
# 将本地文件更新到之前的第 23 个版本
svn up -r23
# 将文件合并到前一个版本
svn merge -rHEAD:PREV xyz.java
svn diff -rPREV xyz.java
搭建 SVN 服务器的更多相关文章
- 如何搭建SVN服务器,详细安装步骤。
SVN服务器端安装 下载: VisualSVN是一款图形化svn服务器.官网 http://www.visualsvn.com/server/ 下载地址: http://www.visualsvn.c ...
- CentOS 7搭建SVN服务器
安装步骤如下: 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /var/svn/svnrepos ...
- Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法
首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion ...
- 记录第一次搭建svn服务器
搭建svn服务器需要另外的软件, 在此以32位的为例: 安装过程非常简单, 一直下一步下一步确定就好了, svn安装完毕再安装中文语言包, 安装完成后可以在设置里面找到中文简体选择就OK了 主要记录一 ...
- 如何在win上搭建SVN服务器
本博文转自:http://www.cnblogs.com/armyfai/p/3985660.html SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本, ...
- Ubuntu 14.04 下搭建SVN服务器 svn://
Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...
- Mac 搭建 SVN 服务器环境
Mac 搭建 SVN 服务器环境 一.创建svn repository svnadmin create /path/svn/pro //仓库位置,svn是svn的目录,pro是一个版本库的目录 PS: ...
- Ubuntu 14.04快速搭建SVN服务器及日常使用【转】
转自:http://www.linuxidc.com/Linux/2015-05/117735.htm 1.介绍 Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务 ...
- 原 Linux搭建SVN 服务器2
原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55) 阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...
- 原 Linux搭建SVN 服务器
原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55) 阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...
随机推荐
- JDK7和JDK8一些重要新特性
jdk7新特性(部分) switch支持字符串 List AutoCloseable接口实现自动关闭,在try()中 新增获取环境信息的工具方法,getJavaHomeDir,getUserHomeD ...
- c语言快速入门1
如果你想快速入门计算机,可以参考我的上一篇帖子,先了解一些必备的软知识,然后再来进行语言的快速入门 计算机入门基础知识 目录 1.1.1 计算机与程序 现代计算机可以自动完成计算任务 程序就是按 ...
- web安全入门书单
- js随笔
在js中,一个[]认为是数组:{}认为是Json对象:
- 展开easyui 树节点到某个点
$(function () { $('#tt').tree({ url: '/IS/Department/JsonTree?companyID=@(Request.QueryString[" ...
- 复利计算器(软件工程)及Junit测试———郭志豪
计算:1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 客户提出: 2.如果按照单利计算 ...
- iOS APP性能优化
:应用启动时间 应用启动时,只加载启动相关的资源和必须在启动时加载的资源. :本地图片加载方式 本地图片加载常用方法有两种: a. [UIImage imageNamed:@"xx.png& ...
- 【第三课】WEBIX 入门自学-Hello World
在看官网教程时,入门的例子就是dataTable这个空间.So,遵循官网,一起来看一下入门的DataTable组件: WEB使用时固然是先引入相应的库文件: 代码如下 <html> < ...
- 【BFS】POJ 3414
直达 -> POJ 3414 Pots 相似题联动–>HDU 1495 非常可乐 题意:两个壶倒水,三种操作,两个桶其中一个满足等于C的最少操作,输出路径.注意a,b互倒的时候能不能倒满, ...
- linux学习第一阶段
最近比较盲目的生活,翻来覆去,总归是为了自己,还是静下心来看看东西吧.好好学习.天天向上