ubuntu下搭建svn服务器

来源:互联网 发布:c盘windows删除 编辑:程序博客网 时间:2024/05/22 10:37

今天尝试在ubuntu下简单搭建svn(版本管理服务器),记下一点小经验:

1.搭建之前肯定要先下载 svn服务器:subversion

     sudo apt-get install subversion

2.下载后需要建立一个文件仓库,存放我们的项目

    sudo svnadmin create <文件路径>

    例如我的: sudo svnadmin create /home/svn/project

3.建好仓库之后,可以修改权限,改成root

     sudo vim <文件路径>/conf/svnserve.conf

svnserve.conf:svn服务配置文件,该文件版本库目录的conf目录下。 
passwd:用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。 
authz:权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。

 1>.anon-access = read
    auth-access = write
    password-db = passwd

   authz-db = authz

    这几行前的#去掉

    其中 anon-access 和 auth-access 分别为匿名和有权限用户的权限,默认给匿名用户只读的权;将anon-access = read的read改为none,禁止匿名用户访问。

    住:千万别在前面留下空格

 2>.

4.添加用户

   sudo vim <文件路径>/conf/passwd

  格式:

      用户名=密码     必须按照这个格式添加

一般设置:

admin = admin

user = user

然后设置authz:

   vim authz
   [groups]
   admin = admin
   user = user
   [/]
   @admin=rw
   *=r
   admin属于admin组,具有读写权限;
  user用户属于user组,具有读权限。


5.接下来就可以启动svn了

   svnserve -d -r <文件路径>

-d 表示以守护进程模式运行

-r 指定SVN根目录

   注意:如果你的机器上开着大于等于一个svn,就会提示端口冲突或地址已使用,因为其默认端口是3690.所以我们要关闭所有的svn服务器。使用命令:

    sudo killall svnserve

6.之后计算机就可以访问服务器了:

    获得服务器上的文件:

       svn checkout svn://<服务器ip>/<文件仓库的名字,此处为”project“>

               加上参数 -r  <版本号>  指定你要的版本

              可简写为 svn co svn://<服务器>/<文件仓库>

7.获得的文件怎么做不会影响服务器的

要注意的一点是,在 wc 下做文件操作时,比如删除或移动文件,不能直接用 rm, mv 来进行,这样 svn 不能追踪到文件的变化,你必须使用 svn del 或是 svn move 来完成删除或移动的操作。下面举几个命令的例子:


svn add filename #新增一个文件
svn move filename foo/bar/baz #移动 filename 到 foo/bar/baz 下
svn rename filename1 filename2 #给文件改名

8.提交文件:

svn commit -m "<关于此次修改的相关注释信息>"  --username --password

9.设置 svn开机自启动

(1).创建执行脚本svn.sh(/root路径下)

#!/bin/bash
svnserve -d -r /home/svn
(2).添加可执行权限
#chmod ug+x /root/svn.sh
(3).添加自动运行

#vim /etc/init.d/rc.local

在最后添加一行内容如下:

/root/svn.sh

(4).检查
重启服务器,使用ps -aux |grep svn看看svn进程是否启动了。

10.另外常用的命令

(1).使用"svn update"命令可更新当前的wc版本

(2).显示提交日志信息:svn log

(3).显示库中的最新信息:svn log --revision HEAD


附:

清理和删除svn信息
svn, 删除svn信息是根据文件夹里面的 .svn 文件夹保存相关配置的,删除此文件夹即可去掉svn信息:
linux下: find . -type d -name ".svn"|xargs rm -rf
复制代码或 find . -type d -iname ".svn" -exec rm -rf {} \;






      



原创粉丝点击