SVN服务器创建及使用--以文档文件的管理示例

标签: svn 服务器 文档 | 发表时间:2012-11-02 15:23 | 作者:kupe87826
出处:http://blog.csdn.net

 来源: http://blog.csdn.net/kupe87826/article/details/8139908      

参考: http://wenku.baidu.com/view/ed3e3435ee06eff9aef807ff.html

                  http://blog.csdn.net/bluesmile979/article/details/3719511

                  http://www.subversion.org.cn/?viewnews-5

                 http://www.cnblogs.com/chinafine/articles/1825892.html

 

 

       我以前管理文档文件都是复制、备份、粘贴的方式,如果文档这方面的工作比较少还好,如果多了就感觉比较费时间。有时我的某一个文档有好几个备份,自己都搞晕了。所以要找一个工具来管理,SVN是首选。

1、SNV简要介绍

svn( subversion)是近年来崛起的 版本管理工具,是 cvs的接班人。目前,绝大多数 开源软件都使用svn作为代码版本管理软件。

运行方式  

svn服务器有2种运行方式:独立服务器和借助 apache。2种方式各有利弊,用户自行选择。

存储数据  

svn存储版本数据也有2种方式: BDB(一种 事务安全型表类型)和FSFS(一种不需要数据库的 存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

2、我的选择

我因为是单机的,基本就是自己管理自己的文档,所以,运行方式选择对立服务器方式,存储数据采用FSFS(一种不需要数据库的 存储系统)方式。

3、文件下载与安装

svn服务器下载:我下载的是WANdisco Subversion 1.7.6,感觉这个版本比较好,有个win32svn版本用了有些问题,说找不到dll什么的,很奇怪的。建议WANdisco Subversion这个版本

下载链接: http://www.wandisco.com/ubersvn/download?quicktabs_os=windows#windows

客户端:TortoiseSVN就行,网上找下就ok。我版本是TortoiseSVN 1.6.5

把服务器和客户端都装上吧。

 

4、服务器基本设置

(1)创建SVN储存库(repository1)

运行CMD

cd D:\Program Files\WANdisco\Subversion

svnadmin create F:\svntest\repository1  --fs-type fsfs

(别忘了存储方式:FSFS一种不需要数据库的 存储系统)。)

 

       这样会在F:\svntest\repository1,产生一些文件。conf目录是存储权限相关文件的目录;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;

(2)配置SVN服务器

 

打开F:\svntest\repository1\conf目录,打开svnserve.conf找到一下几句:

[general]

# password-db = passwd

# anon-access = read

# auth-access = write

去之每行开头的#,并把read改为none,其中第二行是指定身份验证的文件名,即passwd文件. anon-access = none 意思是匿名用户不能访问,必须要有用户名和密码。(注意:问题就出在这,一定要注意格式去掉注释后要顶格不能有空)

 

 

同样打开passwd文件,将

# [users]

# harry = harryssecret

# sally = sallyssecret

格式为“用户名 = 密码”,如可插入一行:admin = admin222,即为系统添加一个用户名为admin,密码为admin222的用户

 

(3)运行SVN服务器

运行CMD

cd D:\Program Files\WANdisco\Subversion

svnserve --daemon --root F:\svntest\repository1

服务启动,--daemon可简写为-d,--root可简写为-r,可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务(注意:这是临时打开的服务,命令执行后不能关闭窗口)

 

(4)初始化导入
   打开"我的电脑",在你需要进行版本控制的目录上右击,选择TortoiseSVN,再选择子菜单"Import..."

 

设置"文件库url"为svn://localhost//svntest/repository1

 

点确定后就会提示文件正在导入。

 

 

需要注意的是,这里是svn文件库与svn服务是同一台计算机的情况,所以可用localhost,其它机器如果要访问svn服务,应该用svn://svn服务器的IP地址,例如svn://192.168.1.125//svntest/repository1。(这个我还正没试过,大家可以试试,哈哈!)

 

5、文件check out

在桌面单击右键,选择TortoiseSVN,再选择子菜单"Export..."

填写svn目录和导出目录

点击ok

 

6、安装svnservice

在Windows NT中(包括Windows XP, Windows 2000, Windows 2003 Server)本身包含了一个安装服务的工具,叫做"Service Control",也就是sc.exe。

 

创建服务:

运行cmd

输入:sc create svnservice binpath= "D:\Program Files\WANdisco\Subversion\svnserve.exe --service -r F:\svntest\repository1" displayname= "SVNService" depend= Tcpip start=auto

删除服务:

如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice","svnservice"就是我们创建服务时使用的名字。

 

7、SVN多项目管理

建议每个项目建一个库

在server端,新建一个目录用来存放所有的仓库。比如F:\svntest。然后在这个目录下建立每个项目独立

svnadmin create "F:\svntest\repository1"
svnadmin create "F:\svntest\repository2"

使用 svnserve -d -r "F:\svntest\repository1" 启动。这样你的项目的url是:
svn://IP(本地可为localhost)/repository1

使用 svnserve -d -r "F:\svntest\repository2" 启动。这样你的项目的url是:
svn://IP(本地客位localhost)/repository2

 

 


 

 

 

 

 

 

 

 

 

 

 

 

作者:kupe87826 发表于2012-11-2 16:04:43 原文链接
阅读:5 评论:0 查看评论

相关 [svn 服务器 文档] 推荐:

SVN服务器创建及使用--以文档文件的管理示例

- - CSDN博客推荐文章
 来源: http://blog.csdn.net/kupe87826/article/details/8139908      . 参考: http://wenku.baidu.com/view/ed3e3435ee06eff9aef807ff.html.        我以前管理文档文件都是复制、备份、粘贴的方式,如果文档这方面的工作比较少还好,如果多了就感觉比较费时间.

使用VisualSVN Server搭建SVN服务器

- - CSDN博客推荐文章
使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 Apache相配合来实现源代码的 SVN管理简单的多,上手也没有那么复杂. VisualSVN Server的下载地址如下,是免费的,随意不必有顾虑. 1使用SVN,首先要安装 TortoiseSVN,就是上面的SVN下载地址.

架设SVN服务器并自动同步和验证注释

- - 操作系统 - ITeye博客
搭建SVN服务,有效的管理代码,以下三步可以快速搞定. 有了SVN软件后还需要建立SVN库. 执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt.      上面的操作很简单,几个命令就搞定, 下面的操作也不难.

svn 钩子开启

- - 运维技术的个人空间
背景: 公司的Svn很多人在用,有不少人在作修改后不添加注释,所以需要强制用户填写注释. 重命名svn主目录中hooks的pre-commit.tmpl文件为pre-commit,并添加可执行权限. echo "【注释】$content" 1>&2. echo "【注意】注释不能为空,请重新填写注释!!!" 1>&2.

SVN强制填写日志

- - CSDN博客系统运维推荐文章
在F:\Repositories\版本库名\hooks下新建pre-commit.bat. rem 保证输入8个字符 %SVN_BINDIR%\svnlook log %REPOS% -t %TXN% | findstr "........" > nul if %errorlevel% gtr 0 goto :err_action rem 过滤空格字符 %SVN_BINDIR%\svnlook log %REPOS% -t %TXN% | findstr /ic:".

SVN之使用原则

- - 研发管理 - ITeye博客
以下是我起草的部门SVN规范里原则的一部分. 必须提交注释,注明相关修改信息,例如bug号、任务描述等. 具体内容可采用约定或者设置的形式. 你所提交的改变将体现给其他开发者,要明白提交的后果,. 代码变动及时提交,避免丢失本地修改后无法恢复. 新增加的文件同时被提交,否则只在你本地能正常工作,导致其它人不能编译通过.

SVN:合并一个分支到主干

- - P.Linux Laboratory
本文内容遵从 CC版权协议, 可以随意转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.penglixun.com/tech/program/svn_merge_branch_trunk.html. 原文在此,我只是翻译: http://www.sepcot.com/blog/2007/04/SVN-Merge-Branch-Trunk.

[原]强制 code review:reviewboard+svn 的方案

- - 赖勇浩的编程私伙局
赖勇浩( http://laiyonghao.com). 我们团队在开发《天下盛境》项目的时候,制定和执行了比较好的 code review 策略,总结下来有几个优点:一是代码风格可控,代码质量有一定提升;二是新员工入职后能够得到更多人的指导,成长非常快;三是小 bug 频出的情况比我做《天》之前的项目少了至少一个数量组.

SVN提交更新的一个准则

- - BlogJava_首页
查阅了一下网络和博客园,发现还没有一个明确地指导源码管理提交准则的相关文章,因此斗胆整理了一部分自己平时开发管理的心得,加上查阅了部分英文资料写了一个不算很完善的SVN提交准则. 负责而谨慎地提交自己的代码. SVN更新的原则是要随时更新,随时提交. 当完成了一个小功能,能够通过编译并且并且自己测试之后,谨慎地提交.

SVN:分支合并到主干

- - CSDN博客系统运维推荐文章
1.先把主干代码下载到本地. 3.svn merge 分支目录    . 4.遇到冲突, 请见合并日志,选择"p",记下出冲突的文件,人工编辑.  4.1 比如Index.action出冲突了,vi Index.action.  4.2 vi完成以后,删除冲突的文件 rm -f Index.action.*.