`
mqqqvpppm
  • 浏览: 63731 次
  • 性别: Icon_minigender_1
  • 来自: Kun Ming
社区版块
存档分类
最新评论

build a SVN env

阅读更多
快速搭建Subversion

 
作者:开发诱惑 来自:CSDNblog 
 
服务器端Subversion
Subversion是一个自由/开源版本控制系统,和VSS相比,它的特点有:

·采用复制-修改-合并模型

允许多人同时编辑一个文件,在提交的时候,有服务器进行合并,发生冲突的时候需要手工解决。

·目录结构纳入版本控制

支持目录结构的修改和文件改名等操作,并且这些操作都将进行版本管理。

·原子提交

一系列的改动,要么全部提交到版本库,要么一个也不提交,这样可以让用户构建一个所要提交修改的逻辑块,防止部分修改提交到版本库。

·可选的网络层

Subversion可以作为一个扩展模块与Apache结合,这给了Subversion在稳定性和交互性方面很大的好处,可以直接使用服务器的特性—认证、授权和传输压缩等等。也有一个轻型的,单独运行的Subversion服务,这个服务使用自己的协议可以轻松的用SSH封装。

·有效率的分支和标签

分支与标签的代价不与工程的大小成比例,Subversion建立分支与标签时只是拷贝整个工程,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时间。

·多种存储方式

Subversion可以采用数据库进行代码的存储,也可以使用文件存储。

·更有效的处理二进制文件

只记录变化的部分,使得Subversion处理二进制文件更加有效。

·……

资源

Subversion服务器端:http://subversion.tigris.org/files/documents/15/31465/svn-1.3.1-setup.exe

安装

执行安装包,不需要特别的修改,假设安装在“C:\Program Files\Subversion”

配置

1. 确认环境变量

安装会自动在系统环境变量的Path变量中加入“C:\Program Files\Subversion\bin”,如不存在请手工编辑。

2. 建立一个源代码仓库

在windows控制台中运行“svnadmin create d:\data\subversion”,这样就会在指定的目录中建立代码仓库。

3. 设置全局访问权限

进入代码仓库的conf文件夹(d:\data\subversion\conf),编辑其中的svnserve.conf文件

[general]

### These options control access to the repository for unauthenticated

### and authenticated users. Valid values are "write", "read",

### and "none". The sample settings below are the defaults.

# anon-access = read

# auth-access = write

### The password-db option controls the location of the password

### database file. Unless you specify a path starting with a /,

### the file's location is relative to the conf directory.

### Uncomment the line below to use the default password file.

# password-db = passwd




其中#起始的行表示注释,因此在修改anon-access和auth-access属性后要删除行首的#。一般来说设置为anon-access = none,auth-access = none,即未验证的用户不能进行读写,通过验证的用户可以读写。password-db = passwd把行首的#去掉,表示密码文件为passwd。

4. 添加用户

进入代码仓库的conf文件夹(d:\data\subversion\conf),编辑其中的passwd文件

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.


[users]

# harry = harryssecret

# sally = sallyssecret



[users]节下定义了用户,等号前是用户名,等号后面是密码,注意删除行首的#。

5. 启动服务

在windows控制台中运行“svnserve -d -r d:\data\subversion”,Subversion服务开始监听3690端口,客户端通过这个端口和服务器进行交互,进行源代码的管理。如果需要自定义端口号,运行“svnserve -d --listen-port 自定义端口号 -r d:\data\subversion”启动服务即可。

注意

1. 服务启动后,不要关闭控制台窗口,一旦关闭窗口,服务就停止运行了。可以将其包装为windows服务,参见服务器端实用工具——SVN Service Wrapper for Windows。

2. Subversion使用Socket通讯,请在防火墙中将使用的端口号设置成例外。

参考资源

Subversion官方网站:http://subversion.tigris.org/

Subversion中文文档:http://svnbook.red-bean.com/

服务器端实用工具——SVN Service Wrapper for Windows
对于在windows平台下运行的Subversion,可以将控制台程序包装成服务,这样就可以在服务器启动的时候自动启动服务,方便服务器的管理。

资源

SVN Service Wrapper for Windows:http://clanlib.org/~mbn/svnservice/SVNService.zip

安装

解开压缩包,将其中的SVNService.exe文件,复制到Subversion的bin目录,如“C:\Program Files\Subversion\bin”

·安装服务:

在控制台中运行“SVNService -install [svnserve命令的参数]”,如“SVNService -install -d -r d:\data\subversion”

·更改参数:

在控制台中运行“SVNService -setup [svnserve命令的参数]”,如“SVNService -setup -d --listen-port 6681 -r d:\data\subversion”

·卸载服务:

在控制台中运行“SVNService –remove”

参考资源

官方网站:http://clanlib.org/~mbn/svnservice/

客户端——TortoiseSVN
TortoiseSVN是Subversion的一个客户端,它最大的特点是不需要任何IDE,而与windows资源管理器集成。

资源

客户端:http://nchc.dl.sourceforge.net/sourceforge/tortoisesvn/TortoiseSVN-1.3.3.6219-svn-1.3.1.msi

语言包:http://jaist.dl.sourceforge.net/sourceforge/tortoisesvn/LanguagePack_1.3.3_zh_CN.exe

安装

执行客户端安装包,注意选择自定义安装,有个针对.net web项目的选项,默认安装在“C:\Program Files\TortoiseSVN”,然后进行语言包的安装。

配置

1. 改变语言

虽然安装了语言包,但TortoiseSVN也不会自动切换界面语言,需要在windows资源管理器的菜单栏中,选择“文件->TortoiseSVN->Settings”命令,在弹出的窗口中选择“简体中文”。

常用命令

1. 文件库浏览器

在URL框中输入SVN服务器的地址,如svn://oa.menhoo.com:6681,按照提示输入用户名和密码,即可进入版本库的浏览界面,右上方有个版本“Head按钮”,Head就是最新版本的意思,在这里可以进行一些打开、保存、删除等常用操作。注意,这里进行的操作将直接影响服务器版本库中的内容,而不是本地的副本。

2. 导出

将版本库中选中的目录和文件按照指定的版本号的内容进行导出,默认情况下将导出最新版本,这个命令类似于VSS中的获取最新版本。注意导出和取出的区别,可以将这个命令简单的理解为下载。

3. 在此创建版本库

创建一个新的版本库,只有服务器才需要这个操作。

4. 导入

将当前路径下的所有文件导入到版本库中。类似VSS中创建了一个新项目,然后添加文件。与VSS不同的是,当前路径下的文件可以被删除掉,因为它们不再被Subversion所使用,可以将导入命令简单的理解为上传。

5. 取出

在当前文件夹中建立版本库中项目的副本,类似VSS中的设置工作目录和获取最新文件。当文件取出完成后,在当前目录里有了一个版本库的个人拷贝,可以编辑你的工作备份中的文件,并且提交到版本库。

参考资源

TortoiseSVN官方网站:http://tortoisesvn.tigris.org/


分享到:
评论

相关推荐

    知识点小结回顾

    3. `local-build-all.cmd`和`svn-build-all.cmd`:本地构建所有模块和通过SVN(Subversion)进行构建的脚本,分别代表在本地开发环境和从版本库拉取代码后的构建过程。 4. `local-build-m400_sms.cmd`和`svn-build-...

    m6a—insight

    ### M6A相机开发环境安装指南与常见问题解决 #### 一、概述 本文档旨在指导用户正确安装和配置M6A相机开发环境,并解决在安装过程中遇到的常见错误,如CMake错误等问题。通过本指南,用户可以顺利完成开发环境的...

    ant xml 打包

    ant对工程打包 ${basedir}\src"/> <property environment="env"/> ${env.JBOSS_HOME}"/> <property name="build.dir" value="${basedir}\build"/>

    alfresco开源项目,编译运行详细步骤,很实用

    在Eclipse的“Window > Preferences”中,找到Ant > Runtime > Properties,添加环境变量env.TOMCAT_HOME和env.APP_TOMCAT_HOME,指向你的Tomcat安装目录。确保Ant版本高于1.7,如果Eclipse自带的版本过低,需要手动...

    Jenkins安装-使用教

    ${ENV,var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志 ;font-family:Tahoma,Arial,Helvetica,sans-serif"> <td><br/> <b><font size="4" color="#0B610B">${BUILD_STATUS}</font></b> <td><br/> <b><font color...

    lunch_r58_20160906.7z

    ./octopus_perf.mk:PRODUCT_MODEL := UltraOcta A83 perf 将octopus_perf.mk另存为:octopus_cb5801.mk,直接用cb5801搜索替换perf即可。 ./configs/media_profiles.xml: not perform any checks at all. 不用修改...

    Jenkins项目实战之-Android基于Gradle参数化打不同环境安装包(二).rar

    - 在源码管理部分配置Git或SVN仓库,指向Android项目的源代码。 - 配置构建触发器,例如定时构建或者基于代码提交触发。 2. **设置Gradle构建**: - 在构建环境中,添加Gradle插件并指定Gradle安装路径。 - 在...

    smash-master.rar

    2. **编译脚本**:如 "build.gradle", "Makefile" 或 "setup.py",用于构建和打包源码。 3. **配置文件**:如 "config.properties" 或 ".env",存储应用的配置参数。 4. **测试文件**:"test" 目录,包含单元测试或...

    jenkins中提供使用的 token

    * ${ENV, var="PATH"}:表示一个从环境变量中获取的Token,例如可以用来获取系统的 PATH 变量。 * ${PROJECT_DEFAULT_SUBJECT}:表示项目的默认邮件主题。 * ${PROJECT_DEFAULT_CONTENT}:表示项目的默认邮件内容。 ...

    source code.zip

    6. **版本控制**:如果项目使用版本控制系统,可能会发现`.git`目录(Git)或`.svn`目录(Subversion),这些记录了文件的历史修改。 7. **构建脚本**:`Makefile`、`build.gradle`、`setup.py`等文件用于自动化...

    Documentation:各种项目的文档。 居住在https

    发展从仓库中克隆文件夹输入正确的文件夹: cd website 安装依赖项: npm install 作为开发运行: NODE_ENV=development npm run start 完成后,构建: NODE_ENV=development npm run build部署方式在您希望文档保存...

    Python-一组有用的gitignore模板

    - 版本控制系统的本地配置,如`.git/`, `.svn/`, `.hg/`等。 - 测试产生的临时文件,如`test_results/`。 4. **其他杂项模板**: 除了Python特定的模板,还有针对不同平台、框架或工具的模板,如: - Web开发:...

    jenkinsexample

    expression { return env.BUILD_NUMBER % 2 == 0 } // 只有偶数编号的构建才部署 } steps { sh 'mvn deploy' } } } post { success { mail to: 'dev-team@example.com', subject: 'Build ${currentBuild....

    ant入门资料.快速上手

    它采用XML格式来定义构建过程,使开发者能够通过简单的配置文件(通常是`build.xml`)来管理项目的构建流程。 **1.2 什么是构建** 构建是指软件开发过程中的一系列自动化任务,比如编译源代码、运行单元测试、打包...

    lunch_cb5801_r58_20160907.7z

    ./octopus_perf.mk:PRODUCT_MODEL := UltraOcta A83 perf 将octopus_perf.mk另存为:octopus_cb5801.mk,直接用cb5801搜索替换perf即可。 ./configs/media_profiles.xml: not perform any checks at all. 不用修改...

    MTK主要Perl脚本的介绍

    例如,`init_env.pl` 可能会检查系统环境,安装必要的Perl模块,并确保所有开发者在同一环境中工作,从而提高协作效率。 二、编译与构建脚本 Perl在MTK的编译和构建过程中发挥着核心作用。`build.pl` 或 `compile_...

    Demo_Testing-源码.rar

    8. 版本控制文件:如 .gitignore 或 .svn,表示项目使用了Git或Subversion等版本控制系统。 通过分析这个压缩包,我们可以学习到: 1. 源码管理:了解项目中的目录结构和文件组织方式,以及如何使用版本控制系统...

    OpenLDAP安装与配置(ubuntu-12.04).docx

    env CPPFLAGS="-I/usr/local/BerkeleyDB.6.0/include" LDFLAGS="-L/usr/local/BerkeleyDB.6.0/lib" ./configure --prefix=/usr/local/openldap ``` 在编译过程中可能会遇到一些警告信息,这些通常是无害的,可以...

Global site tag (gtag.js) - Google Analytics