这是一个比较老旧的话题,毕竟大家现在都使用Git(http://git-scm.com/),Git在分支、代码存储、冲突、速度方面的机制都更优秀。

那我们难道还有使用svn的场景?当然,比如对Git很陌生却要快速推进项目,再比如转换成本很高的场景。。。。总之技术上永远没有孰优孰劣,只是看使用的场景而已

进入正题,ssh服务器,切换到root用户,首先安装subversion:

apt-get install subversion

然后创建svn目录:

mkdir /home/svn

然后创建项目目录,xxxx为我们假定的目录名:

mkdir /home/svn/xxxx
cd /home/svn
chmod -R  xxxx

然后就是初始化svn仓库:

svnadmin create /home/svn/xxxx

现在在项目目录里面会生成一堆文件和文件夹,至此项目基本搭建完成,下面进行权限部分

我们设定常用的场景是这样的,没有认证的用户只能读,认证之后的用户可以读写,认证是通过密码进行,let’s go:

cd /home/svn/xxxx/conf
vim svnserver.conf

然后注释以下3行,注意,开头不能有空格存在

anon-access = read //没有验证的用户只能读
auth-access = write //验证的用户能够读写
password-db = passwd //密码数据是当前目录下的passwd文件

然后我们就开始添加密码了

cd /home/svn/xxxx/conf
vim passwd

然后以如下格式添加用户名和密码:

username = passwd

还差最后一步,就是启动svn服务器:

svnserve -d -r /home/svn

-d 表示svnserver以“守护”进程模式运行
-r 指定文件系统的根位置,这样客户端不用输入全路径,就可以访问版本库
如:svn://youip/xxxx,eg: svn://192.168.1.7/xxxx

然后就可以开始使用啦

http://dashu.me/ubuntu-12-04%E6%90%AD%E5%BB%BAsvn%E6%9C%8D%E5%8A%A1%E5%99%A8/

ubuntu@---:/home/git$ svnadmin create svnpro
ubuntu@---:/home/git$ cd svnpro/conf
ubuntu@---:/home/git/svnpro/conf$ vim svnerver.conf
ubuntu@---:/home/git/svnpro/conf$ ll
total
drwxrwxr-x ubuntu ubuntu Mar : ./
drwxrwxrwx root root Mar : ../
-rw-rw-r-- ubuntu ubuntu Mar : authz
-rw-rw-r-- ubuntu ubuntu Mar : passwd
-rw-rw-r-- ubuntu ubuntu Mar : svnserve.conf
ubuntu@---:/home/git/svnpro/conf$ vim svnerve.conf
ubuntu@---:/home/git/svnpro/conf$ vim svnserve.conf
ubuntu@---:/home/git/svnpro/conf$ vim passwd
ubuntu@---:/home/git/svnpro/conf$ svnserve -d -r /home/git
svnserve: E000098: Can't bind server socket: Address already in use
ubuntu@---:/home/git/svnpro/conf$ ps -A |grep svn
? :: svnserve
ubuntu@---:/home/git/svnpro/conf$ kill
ubuntu@---:/home/git/svnpro/conf$ svnserve -d -r /home/git
ubuntu@---:/home/git/svnpro/conf$ cd /tmp
ubuntu@---:/tmp$ ls
ubuntu@---:/tmp$ mkdir shit
ubuntu@---:/tmp$ cd shit
ubuntu@---:/tmp/shit$ svn checkout svn://10.4.8.71/svnpro
Checked out revision .
ubuntu@---:/tmp/shit$ netstat
drwxrwxr-x ubuntu ubuntu Mar : .svn/
ubuntu@---:/tmp/shit/svnpro$ svn diff
ubuntu@---:/tmp/shit/svnpro$ svn diff
ubuntu@---:/tmp/shit/svnpro$ ll
total
drwxrwxr-x ubuntu ubuntu Mar : ./
drwxrwxr-x ubuntu ubuntu Mar : ../
drwxrwxr-x ubuntu ubuntu Mar : .svn/
ubuntu@---:/tmp/shit/svnpro$ svn update
Updating '.':
At revision .
ubuntu@---:/tmp/shit/svnpro$ sudo nano asdf
[sudo] password for ubuntu:
ubuntu@---:/tmp/shit/svnpro$ svn update
Updating '.':
At revision .
ubuntu@---:/tmp/shit/svnpro$ svn commit -m 'asdf'
svn: E205005: The log message is a pathname (was -F intended?); use '--force-log ' to override
ubuntu@---:/tmp/shit/svnpro$ svn commit -m "asdf"
svn: E205005: The log message is a pathname (was -F intended?); use '--force-log ' to override
ubuntu@---:/tmp/shit/svnpro$ sudo svn commit -m "asdf"
svn: E205005: The log message is a pathname (was -F intended?); use '--force-log ' to override
ubuntu@---:/tmp/shit/svnpro$ svn ci
ubuntu@---:/tmp/shit/svnpro$ svn update
Updating '.':
At revision .
ubuntu@---:/tmp/shit/svnpro$ svn commit
ubuntu@---:/tmp/shit/svnpro$ ls
asdf
ubuntu@---:/tmp/shit/svnpro$ sudo svm ci
sudo: svm: command not found
ubuntu@---:/tmp/shit/svnpro$ sudo svn ci
ubuntu@---:/tmp/shit/svnpro$ ls
asdf
ubuntu@---:/tmp/shit/svnpro$ sudo svn add*
Unknown command: 'add*'
Type 'svn help' for usage.
ubuntu@---:/tmp/shit/svnpro$ sudo svn add *
A asdf
ubuntu@---:/tmp/shit/svnpro$ sudo svn update
Updating '.':
At revision .
ubuntu@---:/tmp/shit/svnpro$ sudo nano asdf
ubuntu@---:/tmp/shit/svnpro$ sudo svn update
Updating '.':
At revision .
ubuntu@---:/tmp/shit/svnpro$ sudo svn ci Log message unchanged or not specified
(a)bort, (c)ontinue, (e)dit:
e Log message unchanged or not specified
(a)bort, (c)ontinue, (e)dit:
asdf update
ubuntu@---:/tmp/shit/svnpro$ sudo svn update
Updating '.':
At revision .
ubuntu@---:/tmp/shit/svnpro$ sudo svn update
Updating '.':
At revision .
ubuntu@---:/tmp/shit/svnpro$ sudo svn ci Log message unchanged or not specified
(a)bort, (c)ontinue, (e)dit:
c
Authentication realm: <svn://10.4.8.71:3690> e0df80d6-353a-43b9-beb9-f13a67ab16c 2
Password for 'root':
Authentication realm: <svn://10.4.8.71:3690> e0df80d6-353a-43b9-beb9-f13a67ab16c 2
Username: sj
Password for 'sj': -----------------------------------------------------------------------
ATTENTION! Your password for authentication realm: <svn://10.4.8.71:3690> e0df80d6-353a-43b9-beb9-f13a67ab16c2 can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details. You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/ubuntu/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no
Adding asdf
Transmitting file data .
Committed revision .
ubuntu@---:/tmp/shit/svnpro$ svn log
------------------------------------------------------------------------
ubuntu@---:/tmp/shit/svnpro$ svn update
Updating '.':
At revision .
ubuntu@---:/tmp/shit/svnpro$ sudo nano asdf
ubuntu@---:/tmp/shit/svnpro$ sudo svn ci Log message unchanged or not specified
(a)bort, (c)ontinue, (e)dit:
e
Authentication realm: <svn://10.4.8.71:3690> e0df80d6-353a-43b9-beb9-f13a67ab16c 2
Password for 'sj': -----------------------------------------------------------------------
ATTENTION! Your password for authentication realm: <svn://10.4.8.71:3690> e0df80d6-353a-43b9-beb9-f13a67ab16c2 can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details. You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/ubuntu/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no
Sending asdf
Transmitting file data .
Committed revision .
ubuntu@---:/tmp/shit/svnpro$ svn log
------------------------------------------------------------------------
r1 | sj | -- :: + (Tue, Mar ) | line ------------------------------------------------------------------------
ubuntu@---:/tmp/shit/svnpro$ sudo nano asdf
ubuntu@---:/tmp/shit/svnpro$ sudo svn ci --username admin --password admin
-----------------------------------------------------------------------
ATTENTION! Your password for authentication realm: <svn://10.4.8.71:3690> e0df80d6-353a-43b9-beb9-f13a67ab16c2 can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details. You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/ubuntu/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no
Sending asdf
Transmitting file data .
Committed revision .
ubuntu@---:/tmp/shit/svnpro$ svn update
Updating '.':
At revision .
ubuntu@---:/tmp/shit/svnpro$ svn log
------------------------------------------------------------------------
r3 | admin | -- :: + (Tue, Mar ) | lines admin changed lot of things..... ------------------------------------------------------------------------
r2 | sj | -- :: + (Tue, Mar ) | lines i changed somthing!!! ------------------------------------------------------------------------
r1 | sj | -- :: + (Tue, Mar ) | line ------------------------------------------------------------------------
ubuntu@---:/tmp/shit/svnpro$ sudo nano helloword.c
ubuntu@---:/tmp/shit/svnpro$ sudo svn add helloword.c
A helloword.c
ubuntu@---:/tmp/shit/svnpro$ sudo svn ci
Authentication realm: <svn://10.4.8.71:3690> e0df80d6-353a-43b9-beb9-f13a67ab16c 2
Password for 'admin': -----------------------------------------------------------------------
ATTENTION! Your password for authentication realm: <svn://10.4.8.71:3690> e0df80d6-353a-43b9-beb9-f13a67ab16c2 can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details. You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/ubuntu/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? no
Adding helloword.c
Transmitting file data .
Committed revision .

Ubuntu 12.04搭建svn服务器【转】的更多相关文章

  1. Ubuntu 12.04 搭建TFTP服务器

    吐槽先:在Ubuntu上搭建TFTP服务器,网上搜到一堆资料,可惜基本都是部分能用,至于哪些部分能用还要自己摸索着试出来,郁闷之情仅次于找不到任何资料…… ---------------------- ...

  2. Ubuntu 12.04搭建l2tp服务器记录。

    1. 安装openswan apt-get install openswan 2.打开 /etc/ipsec.conf 文件,做如下配置: 其中,virtual_privat这里包含的网络地址允许配置 ...

  3. Ubuntu 12.04搭建MTK 6577 安卓开发环境

    Ubuntu 12.04搭建 MTK 6577安卓开发环境 1.       下载并安装Vmware虚拟机: 2.       下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: ...

  4. ubuntu 18.04 搭建flask服务器(大合集,个人实操)

    ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...

  5. Ubuntu 12.04 搭建Android开发环境

    Ubuntu 12.04 搭建Android开发环境 2013/7/29 Linux环境下搭建Android开发环境 大部分开发人员可能都在Windows下做开发,可能是感觉在Windows下比较方便 ...

  6. Ubuntu 12.04 搭建 Eclipse Android 开发环境(转)

    Ubuntu 12.04 搭建 Eclipse Android 开发环境 http://blog.sina.com.cn/s/blog_93dc666c0101b39p.html (2012-09-0 ...

  7. (转)ubuntu 12.04搭建Adobe Flash Media Server服务

    破解版传送门:http://fms45.cuplayer.com/fms4download.html 福利:1462-5247-1705-7678-8379-5590 下载解压 cd进目录,./ins ...

  8. 烂泥:ubuntu 14.04搭建OpenVPN服务器

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司分部需要连接公司内部的服务器,但是该服务器只允许公司内部的网络访问. 为了解决这个问题,打算使用VPN.对于VPN以前使用最多的是PPTP这个解决方案 ...

  9. 【Ubuntu 18.04 搭建VNC服务器】

    https://www.jianshu.com/p/f58fe5cdeb5f 桌面共享 Ubuntu 18.04自带桌面共享,可以将物理桌面共享给VNC.但是无法创建新的桌面. 具体参考 https: ...

随机推荐

  1. Learning Python 005 字符串和编码

    Python 字符串和编码 介绍 计算机是美国人发明的,最早只有127个字母被编码到计算机,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122. 处理中文一个字节显然 ...

  2. 关于login/interactive/no-interactive shell和profile/bash_profile/bashrc

    login shell:第一次登录进系统时的shell,一般是指本机启动时的控制台shell或者ssh远程登录时的shell. interactive shell:登录以后,再打开控制台时运行的she ...

  3. ubuntu下sourceinsight的安装

    转载自blog.csdn.net/zzobin/article/details/7376616 1. 安装wine 详看:http://wiki.ubuntu.org.cn/Wine sudo apt ...

  4. DropDownList绑定数据库

    this.DropDownList_设备列表.DataSource = dt_eq;//设置数据源 this.DropDownList_设备列表.DataTextField = "equip ...

  5. MATLAB实现插值和拟合

    插值问题在应用领域中,由有限个已知数据点,构造一个解析表达式,由此计算数据点之间的函数值,称之为插值.实例:海底探测问题某公司用声纳对海底进行测试,在5×5海里的坐标点上测得海底深度的值,希望通过这些 ...

  6. BZOJ 1858【线段树】

    题意:  0 a b 把 [a, b] 区间内的所有数全变成0  1 a b 把 [a, b] 区间内的所有数全变成1  2 a b 把 [a,b] 区间内的所有数全部取反  3 a b 询问 [a, ...

  7. 动手写一个简单版的谷歌TPU-矩阵乘法和卷积

    谷歌TPU是一个设计良好的矩阵计算加速单元,可以很好的加速神经网络的计算.本系列文章将利用公开的TPU V1相关资料,对其进行一定的简化.推测和修改,来实际编写一个简单版本的谷歌TPU.计划实现到行为 ...

  8. centos7安装golang环境

    1.下载golang安装包 wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz 2.解压至/usr/local文件夹 tar -C /u ...

  9. 调试JMETER脚本的5种方法

    如果你曾经设计过JMeter脚本,我敢打赌你至少有一次弄清楚Json Extractor无法正常工作的原因.你猜怎么着?我去过那儿! 你知道为什么最好的JMeter Performance Engin ...

  10. 如何顺畅使用sourcetree可视化工具

    http://www.360doc.com/content/17/0711/10/11253639_670493403.shtml sourcetree软件下载 下载地址:https://www.so ...