配置和使用svn

缘起

      临近大四毕业时,要做毕业设计了。每周要会见老师,写的论文之类的材料要经由老师查看,总是用U盘烤来烤去着实麻烦。老师说就配置一个SVN服务器,上传下载,十分便捷。而后,有了这次blog的来源。

正文

    软硬条件: HP2080微型计算机, Ubuntu 12.10, SVN 1.7.5

    Step 1. 安装Subversion软件 : sudo apt-get install subversion

    Step 2. 创建项目目录:

               sudo mkdir /home/svn
               sudo chown www-data:www-data -R /home/svn/

               sudo chmod 770 -R /home/svn/

    Step 3.创建SVN文件仓库: sudo svnadmin create /home/svn/project(注意,这里的project是任意取的,可以是其他的任何的名字)输入这个命令后,cd到相应目录下,会出现如下的文件:

        

    Step 4.设置访问权限,修改/home/svn/project/conf 目录下的svnserve.conf,passwd和auhtz

             a)编辑svnserve.conf,设置权限,将如下的几行的注释取消调,注意不要留下空格

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

            其中,其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权限,但如果想拒绝匿名用户的访问,只需把 read 改成 none 就能达到目的。password-db就是用户名和密码所在的文件,默认同svnserve.conf文件处在同一目录下,authz-db为用户权限组的文件。

            b)编辑passwd,添加用户名和密码,例如:

             [users]              

             zhangsan = 123456

             lisi = 123456

             test = 123456

            c)编辑authz设置用户权限组

           [groups]   
           admin = zhangsan,lisi   
           test = test   
           [/]   
           @admin=rw   
           *=r    (这边不太明白是什么意思,照着写就是了,看起来是给admin组的设置了rw权限,其他的设置的是只读权限)

        Step 5.启动和停止SVN服务:

       启动:sudo svnserve -d -r /home/svn
       描述说明: 
       -d 表示svnserver以“守护”进程模式运行 
       -r 指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库 如: svn://192.168.12.118/fitness 访问的就是主机为192.168.12.118目录下的/home/svn/fitness文件
      停止: sudo killall svnserve 

     注意:如果ubuntu下已经开启了一个或多个svn服务器,想要开启新的svnserve时,出现“端口冲突”,此时使用sudo killall svnserve终止所有的svn服务,方可开启新的服务。只是因为因为它默认使用的端口号为3690,所以应该终止所有的svn服务,使该端口处于空闲状态。

       Step 6. 测试是否好用

       测试命令: svn co svn://222.192.41.13/softwaretest, 运行结果截图如下:

           

      添加一个文件, 首先将操作文件复制到working copy(从服务器中checkout的文件目录)下,使用svn add 然后使用svn commit。 命令序列:

      cp ~/Documents/WordPress.doc .

      svn add WordPress.doc

      svn commit -m "just for test"

     运行如下:

xc-pc@xcpc:~/experiment/test/softwaretest$ cp ~/Documents/WordPress.doc .
xc-pc@xcpc:~/experiment/test/softwaretest$ svn add WordPress.doc 
A  (bin)  WordPress.doc
xc-pc@xcpc:~/experiment/test/softwaretest$ svn commit -m "just for test"
Authentication realm: <svn://222.192.41.13:3690> 454c9d99-6de3-47e8-a830-c98172ab5aaa
Password for 'xc-pc': 
Authentication realm: <svn://222.192.41.13:3690> 454c9d99-6de3-47e8-a830-c98172ab5aaa
Username: admin
Password for 'admin': 
Adding  (bin)  WordPress.doc
Transmitting file data .
Committed revision 1.
      注意:在 wc 下做文件操作时,比如删除或移动文件,不能直接用 rm, mv 来进行,这样 svn 不能追踪到文件的变化,你必须使用 svn del 或是 svn move 来完成删除或移动的操作。下面举几个命令的例子:
      svn add filename #新增一个文件

      svn del filename # 删除文件
      svn move filename foo/bar/baz #移动 filename 到 foo/bar/baz 下
      svn rename filename1 filename2 #给文件改名

      修改完成后,提交文件: svn commit -m "<相关注释信息>"  --username <用户名> --password <密码>

   当然,测试也可以使用windows机器,需要安装一个TortoiseSVN软件,图形化的处理,使用方法网关键字“SVN使用教程”一搜一大堆。

后记

    在安装时,发现很多的方法中第一件事情就是添加用户和管理组(adduser和addgroup),我个人不太喜欢理解,也不喜欢给自己的系统上添加太多的用户,所以没有采用那种方法,也许那样更好的说。

    另外,我发现别人写的博客没有说这些步骤做完后,怎样证明自己确实安装成功了。所以我写了这篇博客,记录了一下我是如何发现我确实安装成功了,并且在Ubuntu和window上都测试了一下。

    本文主要参考了如下的这些博客:

    Ubuntu搭建SVN服务器http://blog.csdn.net/gavin_dinggengjia/article/details/7558635

    ubuntu下搭建svn服务器:http://blog.sina.com.cn/s/blog_60e5f5320100e35i.html

    Ubuntu搭建SVN服务器+Apache http访问:http://www.linuxidc.com/Linux/2012-06/61833.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值