当做大的项目是,svn是代码管理的好工具,假设是用自己的server,那么须要搭建SVNserver。

Subversion是一款很优秀的svnserver工具,笔者採用VisualSVN
server ,由于它集成了apache,不用再进行过多的配置。

首先下载安装 VisualSvn Server

选择VisualSVN ,然后下载。

Download 之后,进行VisualSVN的安装

点next

继续next



    

location 选择安装VisualSVN Server 的文件夹

Repositories 是代码版本号位置

Server Port为svnserver的port,默觉得443,启用https连接

安装完毕后

接下来我们安装TortoiseSVN,双击安装包,进入下一步.如图:

点击Next,进入下一步,如图:

选择接受,然后点击Next,进入下一步,如图:

选择安装路径,然后点击Next,进入下一步,如图:

点击Install,開始安装,如图:

等待安装完毕,安装完毕后如图:

接下来我们安装中文简体语言包,这个很easy,一路Next即可,就不截图了.语言包安装完毕以后在桌面随意空白地方单击鼠标右键,会在右键菜单里找到SVN,如图:

选择设置,进入下一步,如图:

在右边的语言里面选择中文简体,然后点击应用,确定,汉化即完毕,如图:

首先打开VisualSVN Server Manager,如图:

能够在窗体的右边看到版本号库的一些信息,比方状态,日志,用户认证,版本号库等.要建立版本号库,须要右键单击左边窗体的Repositores,如图:

在弹出的右键菜单中选择Create New Repository或者新建->Repository,进入下一步:

输入版本号库名称,勾上Create default structure复选框(推荐这么做).点击OK,版本号库就创建好了,版本号库中会默认建立trunk,branches,tags三个目录,如图:

这时候我们将项目导入到版本号库中,找到你的项目目录,在项目目录上点击鼠标右键,找到SVN菜单,选择导入,如图:

在弹出的对话框中填上版本号库URL,这个URL能够从VisualSVN Server Manager中获取,在你的版本号库上单击右键,选择Copy URL to Clipboard,这样就把版本号库URL拷贝到你的剪贴版了.如图:

将复制的版本号库URL粘贴上,在URL后面加上trunk子路径.然后在导入信息里面填上导入信息"导入项目到版本号库".如图:

点击确定,所选中的项目就会被导入到版本号库中.如图:

项目导入到版本号库以后,不能随便让谁都可以读写版本号库,所以须要建立用户组和用户.

在VisualSVN Server Manager窗体的左側右键单击用户组,选择Create User或者新建->User,如图:

在弹出的对话框中填写User name和Password,然后点击OK,如图:

用同样的方式分别创建用户Develpoer1,Develpoer2,Develpoer3,Test1,Test2,Manger六个用户,分别代表3个开发者,两个測试人员和一个项目经理,如图:

然后我们建立用户组,在VisualSVN Server Manager窗体的左側右键单击用户组,选择Create Group或者新建->Group,如图:

在弹出窗体中填写Group name为Developers,然后点Addbutton,在弹出的窗体中选择三个Developer,增加到这个组,然后点Ok,如图:

用同样的方式创建组Managers,Testers,如图:

接下来我们给用户组设置权限,在MyRepository上单击右键,选择属性,如图:

在弹出的对话框中,选择Security选项卡,点击Addbutton,选中Developers,Managers,Testers三个组,然后加入进来,给Developers,Managers权限设置为Read/Write,Tester权限设置为Read Only,如图:

到此,服务端就完毕了.

接下来,我们用client去检出代码,在桌面空白处单击右键,选择SVN检出,在弹出的对话框中填写版本号库URL(详细获取方式,上面讲上传项目到版本号库的时候讲过),选择检出文件夹,点击确定.如图:

開始检出项目,如图:

检出完毕之后,我们打开工作副本目录,会看到全部文件和目录都有一个绿色的√.如图:

至此,创建版本号库和使用TortoiseSVN导入项目,检出项目已经介绍完成.

此时在一个局域网的人就能够用SVNclient提交代码了。

笔者的server是阿里云主机,所以必须得让VisualSvn sever能让外网訪问,仅仅要把地址改为 https://你的域名或IP/svn/yc/

yc是建立的版本号库。

然后就能够通过浏览器web的方式或者 svnclient提交代码。可是当採用https连接时,笔者的svn始终连不上visualsvn,已连接就崩溃,最后笔者仅仅好换成了HTTP连接,自己定义port为8080

可是接下来的问题是,笔者的目的是用svn管理serverapache下的站点文件夹,方便的提交代码,并更新站点文件夹。

当笔者用svn提交成功时,发现并不能改变站点文件夹下的文件。

百度了好久才发现,server端的ViusalSVN须要编辑一个hooks钩子,把svnclient提交的代码更新到对应的站点文件夹。而不是它的版本号仓库。

详细方法是,在server和client分别用svn checkout,注意要同一时候检出,以便版本号一样.然后编写svn 钩子

实施:

1.创建web网站文件夹 d:\www

2.将项目检出到d:\www(可在server上安装tortoiseSVN来检出)

3.右击我的电脑--管理--服务,找到visualSVN serve ,右击选择属性---登陆--选择本地系统用户(同意与桌面交互)

保存,重新启动visualsvn服务

4.在代码库的hooks文件夹里新建post-commit.bat,贴入下面代码:

1 @echo off
2 SET
REPOS=%1
3 SET
REV=%2
4 SET
DIR=%REPOS%/hooks
5 SET
WORKING_COPY=D:\www
6 SET
PATH=%PATH%;
7 svn
update %WORKING_COPY% --username admin --password admin

admin admin是你的svn登陆帐户password。 



PS.建议你须要把svn安装文件夹下的bin文件夹加入到你的环境变量中。

假设小乌龟svn提交时 提示 fail start hooks, 那么应该是VisualSVN Server 读写权限的问题。

解决的方法:  在windows 服务中,改动VisualSVN服务的登录账号为本机。。

就能够了。


SVN server的搭建的更多相关文章

  1. Mac os x 10.8 svn server的搭建

    Mac自带了svn服务端和客户端,所以我们不用再去下载了. 1 但首先 sudo vi /etc/paths   将xcode里的Contents/developer/usr/bin加入到path   ...

  2. SVN server环境搭建

    VisualSVN server搭建: 1. 下载VisualSVN server for Windows安装包:https://www.visualsvn.com/ 2. 安装过程,基本就是下一步一 ...

  3. Linux 搭建SVN server

    一. SVN 简单介绍 Subversion(SVN) 是一个开源的版本号控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository ...

  4. (总结)CentOS Linux搭建SVN Server配置详解

         PS:虽然在公司linux服务器上搭建过几次svn,但是时间长了,有些配置操作会忘掉,上网搜索的结果都不大满意,有幸在前几天看到一篇算是最满意的svn搭建文章,转载一下以备以后使用,原文地址 ...

  5. CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址、服务启动等)

    CentOS Linux搭建独立SVN Server全套流程(修改svn仓库地址.服务启动等) 原 一事能狂便少年 发布于 2016/12/27 11:16 字数 1113 阅读 1.3K  收藏 0 ...

  6. 【转】在ubuntu环境下搭建svn server遇到的一些问题

    原文网址:http://www.cnblogs.com/pcchinadreamfly/archive/2012/11/24/2786046.html 前段时间在ubuntu 12.04lts上倒腾了 ...

  7. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    前言     上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...

  8. Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)

    上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...

  9. 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境

    前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...

随机推荐

  1. 【POJ2752】【KMP】Seek the Name, Seek the Fame

    Description The little cat is so famous, that many couples tramp over hill and dale to Byteland, and ...

  2. 16_用LVM扩展xfs文件系统(当分区空间不够时)

    1. 查看当前卷组空间(volume group)使用情况 [root@localhost ~]# vgdisplay 从下面的代码中发现剩余空间为0 --- Volume group --- VG ...

  3. Oracle数据库之动态SQL

    Oracle数据库之动态SQL 1. 静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:一种为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大 ...

  4. jQuery--效果和遍历

    七.jQuery效果 (1)jQuery隐藏和显示 //隐藏 $("#hide").click(function(){ $("p").hide(1000); } ...

  5. 支付宝支付错误 系统忙:错误代码AE150002999

    今天出现支付宝支付错误,支付系统繁忙请稍等,错误码AE150002999.测试了其他连个收款方,可跳转到正常扫码支付页面,排除了代码错误. 在登录支付宝商家中,也签约了“即时到帐”功能.度娘和查看都找 ...

  6. One-day-学习笔记-商品成交时发送短信

    个人学习笔记(one) 根据需求:商品成交时发送短信 html代码省略..... Model代码省略..... /* * --------------------------------------- ...

  7. MBR

    Mbr位于磁盘的0柱面,0磁头,1扇区. MBR       有三部分构成,主引导程序,硬盘分区表DPT和,硬盘的有效标志55AA.在512个字节的主引导扇区里. 主引导程序占446个字节,dpt占6 ...

  8. linux中用户信息及密码相关知识

    在linux中若修改用户信息.密码,组群信息.密码等.其实是在修改/etc/passwd,/etc/shadow,/etc/group,/etc/groupshadow等文件的内容. 这四个文件的意思 ...

  9. 转:PHP超时处理全面总结

    原文来自于:http://wulijun.github.io/2012/08/08/php-timeout-summary.html 概述 在PHP开发工作里非常多使用到超时处理的场合,我说几个场景: ...

  10. BZOJ 1072 排列

    Description 给一个数字串\(s\)和正整数\(d\), 统计\(s\)有多少种不同的排列能被\(d\)整除(可以有前导\(0\)).例如\(123434\)有\(90\)种排列能被\(2\ ...