`

转)使用svn进行版本控制

 
阅读更多

以前都是别人建好并配置好了svn,然后我使用。今天自己简单尝试了下建svn来管理项目文档。中间也遇到些问题。下面是我总结的一个完整流程,许多步骤可以有另外的方法来完成,但在这我都只给我认为比较简单的方法。

我使用系统是: Microsoft Windows xp sp2

第一:下载软件

有两个软件需要下载的:
Subversion和TortoiseSVN
Subversion 下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
TortoiseSVN下载地址:http://tortoisesvn.net/downloads

(有些文档说必备软件还有Apache,但这么说法的大多是较旧的文档这么提到,随着软件的更新,已经没有必要安装Apache了,安装Apache是为了SVN能干更多事,比如可以基于HTTP去访问等。)

软件安装完后需要重启系统。

第二,建立服务和根目录创建

建立svn的根目录:例如在E盘建立文件夹SVNRoot。

然后是建立svn服务:(这里把svn服务建立为一个windows的服务)

在命令行下敲入:SC create svn1.5 binPath= "/"C:/Program Files/Subversion/bin/svnserve.exe/" --service --root /"E:/SVNRoot/"" depend= Tcpip start= auto
(第一块红色部分为subversion的安装位置,第二块红色为刚才创建的SVN根目录,注意:命令行中等号前不能有空格,等号后必须有空格)

运行后打开windows的服务窗口检查,如果有svn1.5这么个服务,说明建立成功了,初次建立可能要手动启动下(不然重启动系统也可以,当然这里没有必要重启系统)

第三:具体项目的建立和配置。

这里假设我们有个项目DemoProject需要用svn来管理。

在E:/SVNRoot下新建文件夹DemoProject。进入DemoProject,鼠标在空白处点击右键,选择TortoiseSVN,再选择Create repository here。操作完后可以看见本来空的文件夹内多了些文件和文件夹。

现在可以来测试以上步骤是否正确,在F盘创建DemoProject(开发项目时的文件夹),进入新创建的文件夹,空白处点击右键,选择SVNCheckOut,Url repository填入svn://localhost/DemoProject,其他默认。点击OK,(如果窗口Action有显示Completed,那说明操作成功)。

这样虽然可以访问了,但是并没有完成,我们需要配置文件的读写权限。这时我们进入E:/SVNRoot/DemoProject/conf。
里面有三个文件。默认里面几乎所有的代码都被使用#注释了。

接下去我们来修改这三个文件来配置svn的验证和授权。(请大家要区分验证和授权)

首先是svnserve.conf文件。
# anon-access = read把这行改成anon-access = none,表示禁止匿名访问(注意:anon前面不能有空格)
# password-db = passwd把这行前面的注释去掉,并删除空格,表示验证用户使用passwd文件。
# authz-db = authz把这行前面的注释去掉,并删除空格,表示授权使用authz文件。

然后修改passwd文件,部分文件内容:
[users]
# harry = harryssecret
# sally = sallyssecret

我想看下这个文件内容就应该知道作用了,这里是配置svn的用户名和密码,这里harry是用户名,等号后面是用户密码,sally是另外一个用户。当然这两行代码都是被注释的。你可以删除注释启用他们,也可以自己加一行,比如:
kate = 123456
这里用的密码是明文,如果你的项目安全要求较高,可以使用加密的密码,配置比较麻烦,这里不说了。还有用户名之间可不可以有空格,用户名和密码的合法字符等,这些我没做测试。


最后配置authz
第一个属性节点是aliases,别名,不知道作用在哪,估计就是将同等权限的许多用户合并成一个名称。我这里没有做修改。

第二个属性节点groups,组别,这很好理解,就是把相同权限的用户合并入一个组,以便下面配置授权时更加简洁。

下面的属性节点都是目录授权节点。
[/foo/bar]表示以下设置/foo/bar目录下的授权。以下授权格式是: 用户名|组别名 = rw | r,r是read的缩写,表示有读的权限,w是write的缩写,表示可写权限,rw表示可读可写。

如果在根目录下配置使用[/]就可以了。


配置完成后,再次进入F:/DemoProject,在空白处鼠标右键,选择SVNUpdate,这时会弹出个窗口要求我们输入用户名和密码,输入在passwd文件中配置的用户名和密码后就可以访问了。

这样一个项目就配置完成了。接下去就可以使用了。具体的Update, Commit等操作使用就不说了。

Twotips:

1.
我们习惯的懒惰的操作就是下班前整个项目commit,但事实是没有必要把整个项目的所有文件都提交给svn管理,甚至有些文件提交后麻烦大大的。比如vs solution下的xxx.user文件,这个提交后造成冲突几乎是100%的。
解决的方法就是在在TortoiseSVN的Setting中设置Global ignore pattern值为“*/bin */obj *.bak *.*scc *.user *.suo *.gpState *.webinfo bin obj *.dll *.pdb *.exe Thumbs.db */TestResults”,这里示例的pattern主要针对使用Visual Studio的开发人员。

2.
在TortoiseSVN的Setting中勾选 Use "_svn" instead of ".svn" directories,某些时候(我不确定是那些时候).svn在windows系统会出错。

分享到:
评论

相关推荐

    使用Subversion进行版本控制(针对 Subversion 1.4)

    使用Subversion进行版本控制针对 Subversion 1.4(根据r2866编译) 参照网页版 http://svndoc.iusesvn.com/svnbook/1.4/制作而成。 目录 前言 序言 读者 怎样阅读本书 本书约定 排版习惯 图标 本书的结构 本书是...

    玩转SVN版本控制系统

    自己写的浅显易懂可直接对照操作的SVN安装使用教程 教你如何在Linux服务器上安装,并创建项目

    SVN使用手册中文版快速入门

    未受版本控制的属性 版本库数据存储 Berkeley DB FSFS 版本库的创建和配置 钩子脚本 Berkeley DB配置 版本库维护 管理员的工具箱 svnlook svnadmin svndumpfilter svnshell.py Berkeley DB工具 版本库清理 管理磁盘...

    SVN使用手册中文版.chm

    未受版本控制的属性 版本库数据存储 Berkeley DB FSFS 版本库的创建和配置 钩子脚本 Berkeley DB配置 版本库维护 管理员的工具箱 svnlook svnadmin svndumpfilter svnshell.py Berkeley DB工具 版本库清理 管理磁盘...

    SVN+中文语言包 - 让您的Subversion客户端“说”中文

    学习者:学习SVN版本控制系统的初学者和学生。 在使用本中文包前,请确保您了解对SVN客户端所做的修改。本中文语言包仅供学习和非商业用途,使用过程中遇到的任何问题,本资源作者不承担责任。如果您在使用过程中有...

    svn学习,svn学习,svn相关信息

    版本控制介绍 2.常用软件 二、Subversion基础 1.发展历史 2.特性 3.安装 4.组成 5.配置 三、基本操作 1.检出Check Out 2.提交Commit 3.解决冲突 4.标签Tag 四、分支与合并 1.版本库的...

    SVN使用手册大全

    目 录 1. 修改 SVN 访问密码 2. SVN 客户端使用说明 2.1. 安装 SVN 客户端 ...2.3.12. 忽略无需版本控制的文件 2.3.13. 去除 SVN 标志 2.3.14. 查看文件每行的修改信息 2.3.15. 重置访问路径 2.3.16. 本地路径转换

    SVN使用手册,有图有说明

    2.3.12. 忽略无需版本控制的文件 2.3.13. 去除SVN标志 2.3.14. 查看文件每行的修改信息 2.3.15. 重置访问路径 2.3.16. 本地路径转换 2.4. 浏览版本库 2.5. 建立标签 2.6. 建立分支 2.7. 清除用户名等信息 ...

    SVN操作手册中文版网页格式

    4.10.4. 使用 TortoiseIDiff 进行比较的图像 4.10.5. 其他的比较/合并工具 4.11. 添加新文件和目录 4.12. Copying/Moving/Renaming Files and Folders 4.13. 忽略文件和目录 4.13.1. 忽略列表中的模式匹配 ...

    在Eclipse中使用SVN与CVS代码管理工具管理项目

    ClearCase主要应用于复杂产品的并行开发、发布和维护,其功能划分为四个范畴:版本控制、工作空间管理(Workspace Management)、构造管理(Build Management)、过程控制(Process Control)。ClearCase通过TCP/IP...

    带你玩转SVN

    SVN是版本控制利器,团队协作工具之一。本课程主要面向开发人员,帮助初学者意识到版本控制的重要性,掌握SVN环境的搭建,以及SVN客户端工具的使用。

    TortoiseSVN使用手册(中文版)

    TortoiseSVN使用手册(中文版):TortoiseSVN是SVN版本控制器的客户端程序,TortoiseSVN使用手册(中文版)教你如何玩转TortoiseSVN客户端版本控制器程序。

    git下载安装使用

    git的简介文档,软件安装,Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 Git 与常用的...

    基于SVN的软件配置管理和持续集成

    详细介绍了基于SVN的软件配置管理和持续集成,主要包括权限管理、SVN控制管理下的开发工作、建立编码基线、构建内部转测试版本、变更管理、版本管理等内容;最后介绍了一个典型工作案例。工作实践表明采用该管理方法...

    [2019 ETL ] Kettle 8.2 怎么连oracle数据库资源库

    如果我们是团队开发项目,除了使用SVN等版本控制软件,还可以使用Kettle的资源库,他会将转换、作业直接保存在数据库中,而且,连接资源库的话,我们就不需要每一次都新建数据库连接了,用起来还是蛮方便的。

    “ 官网 ”最新版-《Git-2.34.1-64-bit.exe》

    如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。 Git 完整命令手册地址:http://git-scm.com/docs PDF 版命令手册:github-git-cheat-sheet.pdf 分布式相比于集中式...

    Matlab的Subversion接口:在Matlab中使用Subversion版本控制系统-matlab开发

    然后转到 matlab 首选项,单击源代码管理,并将其更改为“自定义”。 现在在 matlab 编辑器中,您可以使用 File-Source Control 下的菜单项。 Subversion 不使用“锁定”概念,因此这里没有实现。 我也没有实现...

    Git权威指南PDF完整版

    1.3 SVN—集中式版本控制集大成者/ 7 1.4 Git—Linus 的第二个伟大作品/ 9 第2章 爱上 Git 的理由/ 11 2.1 每日工作备份/ 11 2.2 异地协同工作/ 12 2.3 现场版本控制/ 13 2.4 避免引入辅助目录/ 15 2.5 重写提交说明...

    SVNStartCommitHelper:支持SVN作为SVN启动提交挂钩脚本提交的有用形式。-开源

    SVNStartCommitHelper是一个客户端启动提交钩子脚本(作为用Python / Tkinter编写的第一个版本),恰好提供了结构良好的表单来进行填充。然后将已编辑的内容转换并转发到SVN提交对话框。 这样,您仍然完全可以控制...

    okhttp封装的HTTP请求工具,实际开发直接使用即可.zip

    通过集成Git、SVN等版本控制系统,支持团队成员间的代码共享、分支管理、合并请求和冲突解决。 可视化设计与原型制作: 对于UI/UX设计,有界面设计工具,如Sketch、Adobe XD,可以帮助设计师快速构建应用程序...

Global site tag (gtag.js) - Google Analytics