使用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等操作使用就不说了。

 

Two tips:

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系统会出错。

 参考文章:

http://www.blogjava.net/zpuser/archive/2008/06/08/206654.html

Setting_up_a_Subversion_Server_under_Windows

 

 11月25更新:

如果你看不懂上面的文章,建议你使用可视化的配置软件来配置subversion服务。介绍文章由本文的热心评论网友提供:

http://www.cnblogs.com/ttzhang/archive/2008/11/06/1325940.html

(我看了这篇文章配置subversion,然后使用了VisualSVN Server来配置,确实很简单!)

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220515.html<

(0)
运维的头像运维
上一篇2025-04-14 14:49
下一篇 2025-04-14 14:50

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注