• SVN


    如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关心的问题,与CVS相比,Subversion有更多的选择,也更加的容易,几个命令就可以建立一套服务器环境,可以使用起来,这里配套有动画教程
    本文是使用Subversion最快速的教程,在最短的时间里帮助您建立起一套可用的服务器环境,只需略加调整就可以应用到实际项目当中。
    本教程分为以下几个部分,为了说明简单,教程是在windows下使用的方式,以方便资源有限的项目使用。在UNIX环境下,只是安装方式不同,命令执行并无太大区别。

    • 软件下载
    • 服务器和客户端安装
    • 建立版本库(Repository)
    • 配置用户和权限
    • 运行独立服务器
    • 初始化导入
    • 基本客户端操作

    1,软件下载

    下载Subversion服务器程序。

    官方网站的下载二进制安装文件,来到二进制包下载部分,找到 Windows NT, 2000, XP and 2003部分,然后选择Apache 2.0 或者 Apache 2.2,这样我们可以看到许多下载的内容,目前可以下载Setup-Subversion-1.5.3.msi

    下载Subversion的Windows客户端TortoiseSVN。

    TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
    官方网站是TortoiseSVN ,下载方式和前面的svn服务器类似,在Download页面的我们可以选择下载的版本,目前的最高稳定版本的安装文件为TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi

    2,服务器和客户端安装

    服务器安装,直接运行Setup-Subversion-1.5.3.msi ,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。

    安装TortoiseSVN,同样直接运行TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,这里为了立刻看到好的效果,还是重新启动机器。
     

    3,建立版本库(Repository)

    运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:

    svnadmin create E:svndemo
    epository

    就会在目录E:svndemo epository下创建一个版本库。

    我们也可以使用TortoiseSVN图形化的完成这一步:
    在目录E:svndemo epository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。


    4,配置用户和权限

    来到E:svndemo epositoryconf目录,修改svnserve.conf:
    # [general]
    # password-db = passwd
    改为:
    [general]
    password-db = passwd

    然后修改同目录的passwd文件,去掉下面三行的注释:
    # [users]
    # harry = harryssecret
    # sally = sallyssecret
    最后变成:
    [users]
    harry = harryssecret
    sally = sallyssecret

     在passwd文件中,“=”前的字符就是用户名,后面的就是密码。还要注意“[users]”前面的注释“#”一定要删除掉。

    5,运行独立服务器

    在任意目录下运行:
    svnserve -d -r E:svndemo epository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。

    6,初始化导入

    来到我们想要导入的项目根目录,在这个例子里是E:svndemoinitproject,目录下有一个readme.txt文件:


    右键->TortoiseSVN->Import...
    在URL of repository输入“svn://localhost/trunk”
    在Import Message中输入你的日志信息

    完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。

    需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22/trunk”。

    7,基本客户端操作

    取出版本库到一个工作拷贝: 

    来到任意空目录下,在本例中是E:svndemowc1,运行右键->Checkout,在URL of repository中输入svn://localhost/trunk,这样我们就得到了一份工作拷贝。 

    在工作拷贝中作出修改并提交: 

    打开readme.txt,作出修改,然后右键->Commit...,这样我们就把修改提交到了版本库,我们可以运行。

    察看所作的修改: 

    readme.txt上右键->TortoiseSVN->Show Log,这样我们就可以看到我们对这个文件所有的提交。在版本1上右键->Compare with working copy,我们可以比较工作拷贝的文件和版本1的区别。

    最后,所有的内容都已经录制为动画文件,大家可以参考。

    关于本教程大家有什么意见,可以这里讨论 。

    1.  如果更新文件以后,有两个人或者多个人同时修改了某个文件的某个位置,是否冲突,(一般不会这样子,因为上传的版本是可以编译通过的,而且每个人负责自己的模块,不会多人独立修改同一个文件,别人也是先更新,后上传修改,,,,)
    2. 开发者习惯性动作。早上上班第一件事就是更新svn版本库,再开始一天的工作。
    3. 晚上下班,或者其他时候要上传东西可以直接上传因为你负责的东西没人去修改。
    4. 冲突是怎么产生的呢:因为不同的人,同时修改了同一个文件的同一个地方,这个时候,他提交了,你没有提交,你就提交不了,这个时候,你要先更新,更新就会出现代码冲突问题。最好不要多人同时修改一个文件,公用的文件,更改之前要和大家沟通一下,或者解决冲突 呵呵
    5. 先更新,没有冲突,再提交。有冲突,解决冲突再提交。否则也提交不了。
    6. 对于一些处于冲突状态下的文件 ,右键TortoiseSVN ->Resolved,解决冲突。解决冲突: http://www.blogjava.net/jasmine214--love/archive/2011/04/07/347769.html
    7. 更新-解决冲突-删掉以下三个文件-提交(如果自己没有修改的文件有冲突,删除再更新即可,自己修改的文件解决冲突)

    test.php.mine   是冲突前自己的文件

    test.php.版本号   是冲突前本地的版本文件

    test.php.服务器的版本号   是冲突后服务器版本文件

     

     

  • 相关阅读:
    如何了解网络链路的性能,吞吐量测试
    Struts+Spring+HibernateSSH整合实例
    在百度贴吧打出被和谐的字和特殊字符:比如繁体字
    SVN 小记
    SVN 小记
    SVN needslock 设置强制只读属性
    在百度贴吧打出被和谐的字和特殊字符:比如繁体字
    TortoiseSVN与Subversion 1.5
    .NET中非对称加密RSA算法的密钥保存
    SVN needslock 设置强制只读属性
  • 原文地址:https://www.cnblogs.com/olmlo/p/3204589.html
Copyright © 2020-2023  润新知