搭建 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 服务器 目录 ...
随机推荐
- CozyRSS开发记录19-窗口标题栏交互
CozyRSS开发记录19-窗口标题栏交互 1.谈谈对mvvm解耦的看法 在使用mvvm时,如何操作窗口,这是一个问题.这个问题的关键点是:mvvm是把view和viewmodel解耦了的,很多写法一 ...
- MIT 6.828 JOS学习笔记12 Exercise 1.9
Lab 1中Exercise 9的解答报告 Exercise 1.9: 判断一下操作系统内核是从哪条指令开始初始化它的堆栈空间的,以及这个堆栈坐落在内存的哪个地方?内核是如何给它的堆栈保留一块内存空间 ...
- (转) JAVA中如何设置图片(图标)自适应Jlable等组件的大小
一.问题: 一个程序,组件上设置某个图片作为图标,因为的label(应该说是组件)已经设定了固定大小, 所以再打开一些大图片时,超过组件大小的部分没显示出来,而小图片又没填充完整个组件 二.解决这个问 ...
- hoj 2662 经典状压dp // MyFirst 状压dp
题目链接:http://acm.hit.edu.cn/hoj/problem/view?id=2662 1.引言:用dp解决一个问题的时候很重要的一环就是状态的表示,一般来说,一个数组即可保存状态. ...
- Asp.net中static变量和viewstate的使用方法(谨慎)
在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是 ...
- DFS序+线段树 hihoCoder 1381 Little Y's Tree(树的连通块的直径和)
题目链接 #1381 : Little Y's Tree 时间限制:24000ms 单点时限:4000ms 内存限制:512MB 描述 小Y有一棵n个节点的树,每条边都有正的边权. 小J有q个询问,每 ...
- webpack 使用教程--实时刷新测试
学习webpack,基本始终是围绕: 1.如何安装webpack 2.如何使用webpack 3.如何使用loader 4.如何使用开发服务器 可能我们会在如何使用开发服务器的时候,遇到诸如调试的相关 ...
- 关于这个博客以及C++入门该懂的一些东西
给三牧中学c++入门的同学们看的博客. 大概是入门一类的?说不定会写点自己的结题报告. 写的不好/写错了别怪我,蒟蒻瑟瑟发抖. 天哪要开始写入门了我好慌那么接下来是编译器连接. (本蒟蒻喜欢用DEV ...
- Nodejs windows的安装
0.下载地址: http://nodejs-org.qiniudn.com/ https://nodejs.org/download/ https://nodejs.org/en/ 1.基本就是一路N ...
- svn的牛逼操作反向merge
反向merge,轻松回滚.