`
zeeeitch
  • 浏览: 85854 次
  • 性别: Icon_minigender_1
  • 来自: 九江
社区版块
存档分类
最新评论
阅读更多
用svn已经很久了,但我所在的技术环境比较简单,基本我一个人使用svn。最近进一步学习了一下。以前对分支、标记知道,但不理解,也没时间管他,现在也算了解清楚了。

推荐的svn目录结构:
trunk主干
branches分支
tags标记

这些规则对于svn是没有意义的,只是一个规约。开发人员遵循即可。

分支就是根据项目需要,分理处一个特殊功能的代码,进行持续开发。

标记是一个快照,复制出来就不能再提交了。但这也是一个规约,强行提交还是可以的。
用tortoiseSVN的话在tags上进行提交会谈出警告。

主干就是正常开发代码分支,当然项目大了,在分支和标记外,还可以有很多很多的小的开发分支,基本功能实现差不多了,再合并到trunk。各个小分支可以给各个开发小组使用。

svn服务器内部对分支的实现是类似文件系统软连接的形式。所以不占什么空间。
对于分支所提供的命令也就只有copy和merge两个。

合并操作是在本地工作文件夹进行的。

tortoiseSVN的版本图可以较好的显示版本关系,branches会伸出一条分支,而tags则只会用黄色方块标记在主分支上。再次声明一下tags和branches在服务端是一样处理的。


关于权限

ssh+svn的方式权限管理是有些问题的。用户能够登录ssh,就能访问svn文件夹,那么无法对其进行基于代码路径的控制

唯有使用apache (ssl) + svn是功能最全的:
安装apache
安装svn,打开dav等参数,会将so文件放入/usr/local/libexec/

httpd.conf
	LoadModule dav_module modules/mod_dav.so
	LoadModule dav_svn_module modules/mod_dav_svn.so
	LoadModule authz_svn_module modules/mod_authz_svn.so
	LoadModule ssl_module modules/mod_ssl.so


	<Location /svn>
		DAV svn
		SVNPath /usr/local/svn
		AuthType Basic
		AuthName "Feloo Subversion Repository"
		AuthUserFile /etc/svn-auth-file
		Require valid-user
		AuthzSVNAccessFile /usr/local/svn/conf/authz
	</Location>


ssl配置(略)


密码:
htpasswd -cm /etc/svn-auth-file zh


配置authz,和svn+ssh一样

哇塞,好帅啊:
https://www.zeeeitch.cn/svn
分享到:
评论

相关推荐

    SVN进阶操作-分支与合并实机演示

    搭建SVN项目结构进行实操说明,用于解决多人协同开发时的开发的方案,仅供参考

    SVN文件下载

    五、SVN进阶操作 - 创建分支:`svn copy URL_to/trunk URL_to/branch` - 合并分支:`svn merge URL_to/branch` - 查看日志:`svn log` - 恢复删除的文件:`svn revert` 通过以上介绍,你应该对SVN有了基本了解。...

    SVN.rar_svn教程

    五、SVN进阶技巧 1. 使用标签(Tag):创建项目特定版本的快照,常用于发布里程碑版本。 2. 分支策略:根据项目需求制定合适的分支策略,如特性分支、维护分支等。 3. 定期清理(Cleanup):清理工作副本,解决文件...

    版本控制svn_video 版本控制是视频教程

    【SVN进阶特性】 1. **标签(Tag)**: 对项目的重要状态打上标签,类似于快照,不建议在标签上直接修改。 2. **hooks**: 仓库中的钩子脚本,可以在特定操作前或后执行自动化任务,如邮件通知、权限检查等。 3. **外部...

    SVN学习知识.pdf

    SVN(Subversion)是一种版本控制系统,它用于管理和追踪计算机文件的历史变更。SVN允许多个用户协作开发同...无论你是初次接触版本控制的新手,还是需要对SVN基础知识进行巩固的进阶用户,SVN都是一个不可多得的工具。

    SVN服务器搭建 本文档主要是用来介绍如何搭建SVN服务

    3. 进阶配置 - 创建SVN仓库:在安装完成后,需要在服务器上创建一个或多个SVN仓库,这些仓库将存储版本控制的代码或者其他项目文件。仓库可以通过`svnadmin create`命令创建,指定仓库的物理位置。 - 用户和权限...

    svn 最新版中文语言包

    此外,了解如何处理冲突、创建和管理分支也是进阶使用的一部分。 总的来说,SVN 最新版中文语言包的提供,极大地降低了中国开发者使用 SVN 的门槛,提高了工作效率,促进了团队间的沟通与协作。无论是个人开发者...

    SVN中文帮助文档CHM

    5. **高级特性**:如忽略文件模式、锁定/解锁、分支和合并策略、SVN外部项等进阶功能的使用。 6. **问题解决**:常见错误和警告的处理方法,以及如何调试和优化SVN的性能。 7. **命令行工具**:虽然TortoiseSVN主要...

    Eclipse下SVN使用操作手册

    ### Eclipse下SVN使用操作全解析 在Java开发领域,特别是在大中型项目中,团队协作几乎是不可避免的。为了确保代码的一致性与版本管理,...无论是初学者还是有经验的开发者,掌握SVN的基础与进阶操作都是十分必要的。

    svn常见命令行

    ### SVN 常见命令详解 #### 一、概述 Subversion(简称SVN)是一种分布式版本控制系统,广泛应用于软件开发和其他需要版本控制的场景...本文列举了SVN的一些基础和进阶命令,旨在帮助用户快速上手并有效管理项目版本。

    window搭建SVN服务器详解

    进阶配置 - **备份与恢复**:定期备份SVN仓库,以防数据丢失。VisualSVN Server提供了备份工具,可以设置计划任务自动备份。 - **分支与合并**:利用SVN的分支和合并功能,支持多线程开发,避免代码冲突。 - **...

    SVN基本指令

    ### SVN基本指令详解 #### 目录架构与用途解析 Subversion(SVN)作为一款广泛应用的版本控制系统,其目录结构通常...以上是对SVN基本指令及部分进阶操作的详细解析,掌握了这些,你就可以有效地管理和协作代码库了。

    SVN安装配置教程(带视频教程)

    5. 进阶话题,如网络配置、性能优化和故障排查。 通过这份教程,你应该能够成功安装并配置SVN,掌握基本的客户端操作,并理解SVN如何助力团队协作。结合视频教程和书本资源,你可以进一步提升SVN的使用技巧,提升...

    svn.pdf.tar.gz_linux svn

    进阶配置 - 邮件通知:可以配置SVN触发post-commit钩子,自动发送邮件通知关于提交的信息。 - 权限管理:更精细地控制不同用户或组对仓库的读写权限。 - 多仓库配置:在同一Apache实例下配置多个SVN仓库。 - 通过...

    如何架一个svn服务器

    **进阶话题:** 1. **权限管理**:Subversion支持基于路径的权限控制,可以通过修改`authz`文件实现。 2. **备份与恢复**:定期备份仓库,以防数据丢失。可以使用`svnadmin dump`和`svnadmin load`命令。 3. **SSL...

    svn使用说明文档和安装文档

    它们是初学者学习和进阶者查阅的重要参考资料,涵盖了从基础操作到高级特性的全方位指导。通过阅读这些文档,你可以更深入地理解SVN的工作原理,提高协同开发的效率,更好地管理和控制项目版本。 在实际工作中,...

    免安装svn插件

    ### 进阶使用 1. **分支管理**: 学习如何创建和合并分支,以便进行并行开发。 2. **忽略文件**: 设置忽略列表,避免不重要的文件被版本控制。 3. **钩子脚本**: 利用SVN的钩子脚本功能,自动化执行提交前后的任务,...

    SVN客户端使用手册(文档)

    #### 五、进阶操作 - **分支(Branch)**: 创建一个独立的工作线,用于进行特性开发或修复bug等。 - **合并(Merge)**: 将分支上的更改合并回主干或其他分支。 - **标记(Tag)**: 对某一版本的快照进行标记,方便...

    SVN的安装和配置教程资料

    进阶话题** - **钩子脚本(Hooks)**:自动执行服务器端任务,如提交前检查、自动构建等。 - **分支和合并策略**:制定有效的分支管理策略以优化团队协作。 - **备份与恢复**:定期备份版本库,了解如何在灾难...

Global site tag (gtag.js) - Google Analytics