SVN 一个目录下两个版本库V1.1
SVN_使用手册
SVN 服务器建立服务器建立//使用使用手册手册手册周宇辉周宇辉 20082008--0707--04目录1. SVN介绍 (3)1.1版本控制 (3)1.1SVN (3)1.2相关概念 (5)2. SVN服务器的建立 (7)2.1基于SVN协议的服务端 (7)2.2基于HTTP协议的服务端 (8)2.3SVN密码管理 (9)2.4SVN权限管理(实例) (10)2.5服务器端监视 (12)3. 客户端的使用 (14)3.1T ORTOISE SVN (14)3.1.1 工作目录 (16)3.1.2 与BeyondCompare集成 (16)3.1.3 提交修改 (17)3.2S UBCLIPSE (18)3.2.1 安装 (18)3.2.2 取得工程 (20)3.2.3 提交成果 (Commit) (23)3.2.4 查看历史 (24)3.2.5 获取特定版本 (24)3.2.6上传新文件 (25)4. 注意事项 (26)1. SVN 介绍介绍1.1 版本控制简单的讲,版本控制可以让你:• 在开发过程中保存产品的中间结果 • 获取你之前所保存的任一中间结果• 并对一个阶段的产品进行打包(Label, Tag) •对任两个中间结果进行比较图1-1 版本控制版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间做出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。
1.1 SVNSVN SVN 全名Subversion,即版本控制系统。
SVN是一个跨平台的软件,支持大多数常见的操作系统。
作为一个开源的版本控制系统,Subversion 管理随时间改变的数据。
这些数据放置在一个中央资料档案库 (repository) 中。
这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。
用SVN分支管理多版本
骤类似4.4--4.7的步骤;
4.9. 如果在2.0 fixed bugs 和3.0版本同时进行阶段,想规划下一个版
本4.0,则可以考虑在3.0基础上再做一个分支,为了减少在4.0
版本上的合并,要求4.0版本的需求是属于新增功能,不能够对
++
+ +-- r2.0
+
|
+
+---- main.js (2.x 版本的最新文件)
+
+---- common.js
+ +-- tags (此目录只读)
| +-- r1.0 +| + +---- main.js (1.0版本的发布文件) + +---- common.js + +-- r1.1 +| + +---- main.js (1.1版本的发布文件) + +---- common.js + +-- r1.2 +| + +---- main.js (1.2版本的发布文件) + +---- common.js + +-- r1.3 +| + +---- main.js (1.3版本的发布文件) + +---- common.js + +-- r2.0 +| + +---- main.js (2.0版本的发布文件) + +---- common.js + +-- r2.1
代码版本管理规范_v1.1
XXXXXXXX 代码版本管理规范历史版本目录历史版本 (2)1引言 (4)1.1目的 (4)1.2管理工具 (4)2现状概述 (5)3现状分析 (5)3.1现状详述 (5)3.2目标细化 (6)3.3SVN版本管理 (6)3.3.1概述 (6)3.3.2使用对比 (7)4完整的实施方案 (9)4.1开发阶段 (9)4.2预发布测试阶段 (9)1引言1.1目的为了规范和制度化公司的软件版本管理制度,并保障项目开发资料的完整性和安全性,同时明确开发源代码的控制管理流程,特此制定此规范。
1.2管理工具沿用SVN管理工具来进行开发的版本管理,源代码管理和开发资料归档。
2现状概述目前公司研发部门对于代码的版本管理方式较为简单,只是在每次发版后做了基线库存档,导致所有正在开发的需求和项目都在同一个目录里面进行修改,造成每次发版的代码都有可能包含了本次发版以外的内容。
这样会造成如下两点影响:●会有不稳定的因素存在,比如:测试只会对当前需要发版的内容进行测试,但是代码库中同时存在多个版本和项目的代码,对于本次发版无涉及的代码没有进过测试就部署到了服务器上,影响运行的稳定性。
●一旦出现点问题不好定位,比如:出现问题后通常会优先排查发版涉及的内容,但是部分问题是由于其他项目代码引起的。
因此,随着公司和项目规模的壮大,对软件代码版本管理提出了更高的要求。
3现状分析3.1现状详述当前代码版本管理现状如下:1.所有的开发都在一个目录里面做,各种需求、项目、代码、文件混杂在一起。
2.提交测试服务器时,只考虑了编译能通过,而没有考虑功能本身有没有完成。
3.测试出bug以后,会在开发目录进行修改,然后再次提交到测试服务器。
这时提交的代码就可能包含了他人对其他功能/项目的修改,而测试又只会针对此bug再做测试。
这就导致了除了此bug之外的修改可能会没有测试过就直接发布到了服务器上,引起预发布环境不稳定并增加预发布bug数量。
总体来说,当前工作流程是:预发布出bug,研发修改,再提交测试,然后预发布测试通过的代码。
VisualSVN跨版本库迁移目录并保留changelog日志
VisualSVN跨版本库迁移目录并保留changelog日志
目前使用Visualsvn进行代码管理是十分常见的工具。
随着产品的演变,代码迁移是比较常见的情况了。
同一个库中的代码的转移在Visualsvn中就是移动目录,十分方便。
当遇到从一个库转移到另一个新库中的时候,就比较麻烦了。
现在有一份代码code在版本库reposA/dirB/下,现在想把它移动到reposB/dirAA/。
这时,需要给reposB/dirAA下新建一个dirB文件夹。
再次执行命令
这里要注意的是,reposB中的svn记录号rev,会随着每次导入而递增。
所以如果第一次出错了之后再导入,这样的rev号就会一直递增。
如果想要保持rev号一致的话,就要删掉reposB库重新导入。
这样就把reposA/dirB/code/转移到了reposB/dirAA/code/,并且保留了相应的提交日志changelog,大功告成。
svn版本库目录结构
svn版本库⽬录结构该⽂是svn源代码分析系列⽂章服务端架构中的⼀篇,主要描述svn服务端版本库数据存储⽬录结构,并且对这些⽂件以及⽬录的作⽤进⾏简单分析。
使⽤“svnmadin create”命令创建初始化版本库后,使⽤“tree”命令打印出没有经过任何修改的原始版本库⽬录。
$ svnadmin /svnrepos/morepos$ tree /svnrepos/morepos -pmorepos|-- [-rw-r--r--] README.txt|-- [drwxr-xr-x] conf| |-- [-rw-r--r--] authz| |-- [-rw-r--r--] passwd| `-- [-rw-r--r--] svnserve.conf|-- [drwxr-sr-x] db| |-- [-rw-r--r--] current| |-- [-r--r--r--] format| |-- [-rw-r--r--] fs-type| |-- [-rw-r--r--] fsfs.conf| |-- [-rw-r--r--] min-unpacked-rev| |-- [drwxr-sr-x] revprops| | `-- [drwxr-sr-x] 0| | `-- [-r--r--r--] 0| |-- [drwxr-sr-x] revs| | `-- [drwxr-sr-x] 0| | `-- [-r--r--r--] 0| |-- [drwxr-sr-x] transactions| |-- [-rw-r--r--] txn-current| |-- [-rw-r--r--] txn-current-lock| |-- [drwxr-sr-x] txn-protorevs| |-- [-rw-r--r--] uuid| `-- [-rw-r--r--] write-lock|-- [-r--r--r--] format|-- [drwxr-xr-x] hooks| |-- [-rw-r--r--] post-commit.tmpl| |-- [-rw-r--r--] post-lock.tmpl| |-- [-rw-r--r--] post-revprop-change.tmpl| |-- [-rw-r--r--] post-unlock.tmpl| |-- [-rw-r--r--] pre-commit.tmpl| |-- [-rw-r--r--] pre-lock.tmpl| |-- [-rw-r--r--] pre-revprop-change.tmpl| |-- [-rw-r--r--] pre-unlock.tmpl| `-- [-rw-r--r--] start-commit.tmpl`-- [drwxr-xr-x] locks|-- [-rw-r--r--] db-logs.lock`-- [-rw-r--r--] db.lock10 directories, 27 files路径类型作⽤conf⽬录存放版本库所⽤配置⽂件的⽬录dav⽬录供mod_dav_svn使⽤db⽬录版本数据存储⽬录db/fs-type⽂件版本库数据真实存储格式,SVN有fsfs和bdb两种存储格式db/revprops⽬录记录版本属性db/revs⽬录版本库数据存储真实⽬录db/uuid⽂件存储版本库唯⼀标识号,参考db/txn-current⽂件记录当前事务format⽂件存储⼀个整数的⽂件,此整数代表库层次结构版本hooks⽬录存放版本库勾⼦⽬录locks⽬录存储库锁⽬录,⽤来跟踪库的访问者其中revs下⾯是以⽬录组织的版本结构,每1000个版本组成⼀个⽬录,每个版本⾃成⼀个⽂件,⽂件名即为commit后⽣成的版本号;即使删除掉部分版本也不会影响版本库的读取和显⽰;但是基础版本丢失会使版本库⽆法访问;。
互不连接的两个SVN双向同步方法
互不连接的两个SVN双向同步方法SVN从1.4版开始支持两个repository之间的同步,但这种“同步”只是单向的,只能把repository-1的数据同步到repository-2中,实际上repository-2只是一个镜像而已。
在我们的项目中,开发团队分别在两个不同的地点,处于安全考虑,两地的内网不对外开放,因此两地无法访问同一个SVN repository,需要分别建立一个repository,并实现这两个repository之间的双向同步。
解决方案如下:1). 在两地分别建立两个SVN服务器repository-1和repository-2,两个的开发人员分别使用各自的SVN服务器2). 由一人携带笔记本,负责同步两个repository中的数据。
如果要把repository-1中的更改同步到repository-2中,则方法如下:在笔记本上建立localcopy-1目录,从repository-1中export出所需的文件(注意,是export,而不是check out),这样,localcopy-1目录下不会包含svn元数据。
将笔记本携带至repository-2所在地点,建立localcopy-2目录,并从repository-2中check out所需的文件,这样localcopy-2目录下会包含svn 元数据。
将localcopy-1中的文件复制到localcopy-2目录下,覆盖所有的同名文件。
由于localcopy-2中包含了svn元数据,可以由 SVN客户端工具在自动识别出哪些文件做了哪些更改。
最后,把localcopy-2目录中的文件commit到repository-2中即可。
若要把repository-2中的更新同步到repository-1中,则原理同上,先建立localcopy-2目录,从repository-2 中export出文件。
然后将笔记本携带至repository-1所在地点,建立localcopy-1目录,从repository-1中check out文件到localcopy-1目录。
【svn-Linux】Linux下SVN的全部使用说明
【svn-Linux】Linux下SVN的全部使⽤说明%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%SVN http://202.231.××.×:×××/svn/03-Design/.....%××××××××××××××××××××××××××××××× 配置 ××××××××××××××××××××××××××××××××××××%1.安装svn sudo apt-get update # sudo apt-get install subversion 可以验证⼀下,通过如下命令: svn help //--svn帮助 svn --version //--svn版本 svnserve --version //--svn server版本%××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××%2.卸载svn利⽤以下命令查看⾃⼰的系统是否已经安装了svn: svn如果显⽰⼀下信息说明已安装,可以使⽤以下命令进⾏卸载: sudo apt-get remove --purge subversion (–purge 选项表⽰彻底删除改软件和相关⽂件)%××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××%3.创建SVN版本库创建项⽬⽬录和svn仓库: sudo mkdir /home/svn sudo mkdir /home/svn/repository sudo chmod -R 777 /home/svn/repository sudo svnadmin create /home/svn/repository # cd /home/svn/repository/ # ls执⾏命令后,会在repository下⽣成以下⽂件 conf db format hooks locks README.txt我们主要关⼼的是conf和db⽂件,conf⽂件夹下是存放主配置⽂件和⽤户、权限位置,db⽂件夹是存放svn转储后的数据。
SVN工具介绍(开发人员)
mit(提交)
提交修改到SVN服务器上。所有需提交到SVN服务器上本地副本的修改都需要用 Commit命令完成。
6
TortoiseSVN最常用的四个命令
Repo-browser(浏览版本库)
7
TortoiseSVN最常用的四个命令
8
TortoiseSVN最常用的四个命令
Update(更新)
16
TortoiseSVN实用功能
还原某一历史版本的修改 (Revert changes from this revision)
操作同“Revert to this revision”。
17
TortoiseSVN实用功能
实用功能之二 - 查询功能 1.显示日志 (show log)
日志查询功能主要作用是:查找历史版本信息,用于追溯。 日志信息里包含了所有历史版本的5个W,who.when.where.what.why! 同时“显示日志”命令充当了其他多个重要功能的接口,如“比较版本差异”, “更新至此版本”,“复原至此版本”等。 “显示日志”命令位于多个对话框中,可以说无孔不入,即表明其实用性和重要性了!
5.移动文件/文件夹
有时候我们需要将一个文件/文件夹移动到另一个文件夹下,SVN在本地副本上的文 件和文件夹的移动也有特有的命令。
6.重新定位(ReLocate)
当URL修改(服务器搬迁IP地址修改等),但本地副本还需继续使用,则需重新定位 URL,将先前checkout时的URL重新定位为最新的URL。
2.增加到忽略列表(Delete and add to ignore list)
很多时候我们不想把部分文件提交到配置库中,但是本地副本想保留,这时可以将文 件增加到忽略列表,这样提交时这些文件不提交到配置库。如可以将编译生成的 release文件夹加入到忽略列表里面。
svn版本号设置规则
svn版本号设置规则SVN是一种版本控制系统,它可以帮助开发人员管理代码的版本和变更历史。
在使用SVN时,版本号是非常重要的,因为它可以帮助开发人员跟踪代码的变化和历史。
下面是SVN版本号设置的规则。
SVN版本号由两部分组成:主版本号和次版本号。
主版本号是一个整数,表示代码的主要版本。
次版本号是一个整数,表示代码的次要版本。
例如,版本号1.2表示主版本号为1,次版本号为2。
SVN版本号的设置规则如下:1. 主版本号的设置规则主版本号是一个整数,它表示代码的主要版本。
主版本号的设置规则如下:- 当代码的功能发生重大变化时,主版本号加1。
例如,从版本1.0到版本2.0,表示代码的功能发生了重大变化。
- 当代码的兼容性发生重大变化时,主版本号加1。
例如,从版本1.0到版本2.0,表示代码的兼容性发生了重大变化。
- 当代码的架构发生重大变化时,主版本号加1。
例如,从版本1.0到版本2.0,表示代码的架构发生了重大变化。
2. 次版本号的设置规则次版本号是一个整数,它表示代码的次要版本。
次版本号的设置规则如下:- 当代码的功能发生小的变化时,次版本号加1。
例如,从版本1.1到版本1.2,表示代码的功能发生了小的变化。
- 当代码的兼容性发生小的变化时,次版本号加1。
例如,从版本1.1到版本1.2,表示代码的兼容性发生了小的变化。
- 当代码的修复bug时,次版本号加1。
例如,从版本1.1到版本1.2,表示代码修复了一些bug。
SVN版本号的设置规则可以帮助开发人员更好地管理代码的版本和变更历史。
在使用SVN时,开发人员应该根据代码的变化情况来设置版本号,以便更好地跟踪代码的变化和历史。
同时,开发人员还应该注意版本号的唯一性,避免出现重复的版本号。
总之,SVN版本号的设置规则是非常重要的,它可以帮助开发人员更好地管理代码的版本和变更历史。
在使用SVN时,开发人员应该遵循版本号的设置规则,以便更好地跟踪代码的变化和历史。
SVN使用手册(简易版)
SVN使用手册——命令行模式1SVN概述SVN的全称Subversion,和VSS一样用来有效地管理代码和版本。
同样我们可以进行修改、对比版本、获得版本的历史信息等操作。
1.1 SVN使用环境及安装SVN的使用环境:SVN可在Linux系统使用,安装系统时如果选择了自带Subversion,无需安装即可使用命令行。
Windows系统需安装Subversion以便在命令行中使用SVN命令;也可安装TortoiseSVN(“小乌龟”),不用敲SVN命令直接通过右键菜单执行。
目前北研所的SVN使用基于TCP/IP协议的Apache服务器,使我们可以通过http地址来访问版本库。
平台Linux系统Windows平台操作方法命令行浏览器命令行界面/右键浏览器安装方式安装Linux的时候选择“开发用”则自带,否则需另安装SVN包。
无需安装,直接在地址栏输入版本库的http地址安装Subversion安装TortoiseSVN(“小乌龟”)无需安装,直接在地址栏输入版本库的http地址优缺点能查看最新及历史版本,能修改只能查看最新版本,不能修改能查看最新及历史版本,能修改能查看最新及历史版本,能修改,右键直接操作。
只能查看最新版本,不能修改本文介绍在Windows平台下SVN命令行工具svn的使用。
安装文件:Subversion ——svn-1.4.6-setup.exe TortoiseSVN——TortoiseSVN-1.4.6.11647-win32-svn-1.4.6.rar文件的具体地址,请参考下文“2.1”章节的介绍。
1.2SVN工作原理说明1.2.1版本库(repository)SVN所有的数据都存储在版本库中并被任意客户端用户分享。
客户端用户通过网络连接到版本库,读写这些文件并使其他人可以看到这些修改。
1.2.2工作拷贝(workcopy)工作拷贝是版本库中文件和目录在本地的映射。
用户并行工作,各自修改本机的私有目录和文件,最终把修改“提交”至版本库成为最终的版本。
Svn版本管理备份策略
svn安装及配置包括操作系统兼容性、安装步骤、基本配置等,以确保版本控 制系统的稳定性和可用性。
svn权限及认证设置
总结词
权限及认证设置是svn版本管理工具实践中的重要环节,需合理配置以保证数据 安全。
详细描述
svn权限及认证设置涉及访问控制、身份认证、权限管理等,以实现精确控制和 安全防范。
1. 找到所需的备份数据文件。
3. 检查导入的数据是否完整、可 用。
05
svn版本管理安全及防护措施
安全漏洞及防护措施
操作系统安全
确保服务器操作系统漏洞及时修补,关闭不必要 的服务和端口,定期更新补丁和安全加固。
网络协议安全
使用安全的网络协议,如HTTPS和SSH,对敏感 数据进行加密传输。
身份验证安全
坏。
灾难恢复
在发生系统故障或人为错误时, 通过备份数据进行恢复,减少损 失。
审计和合规性
保留备份数据,以便进行审计和符 合法规要求。
备份内容及频率
备份内容
备份SVN版本库中的所有数据 ,包括但不限于工作副本和元
数据。
备份频率
每周至少一次完全备份,每天 进行增量备份。
备份数据存储
将备份数据存储在可靠的存储 设备上,如云存储或磁带库。
安装步骤
根据所选工具,按照官方网站Fra bibliotek供的安装指南进行安装。
备份策略制定及实施
01
02
备份策略:制定定期备 份策略,如每天、每周 或每月备份一次,并记 录备份时间、内容等信 息。
实施步骤
03
04
05
1. 创建备份目录:在本 地或远程服务器上创建 一个用于存放备份数据 的目录。
2. 执行备份命令:使用 svnadmin或 TortoiseSVN执行备份 命令,将所需备份的 svn仓库数据导出到备 份目录中。
svn版本访问库规则写法
svn版本访问库规则写法一、概述svn版本访问库是一种用于管理和访问版本控制数据的工具,它可以帮助开发人员轻松地跟踪代码的变更历史、获取特定版本的代码以及与其他开发人员共享代码。
为了确保svn版本访问库的使用规范和安全,需要编写相应的规则。
二、规则写法1. 版本命名规则:svn版本命名应遵循一定的规则,通常以数字或字母组合的形式表示。
建议使用简短、易记的版本号,并遵循标准的命名格式。
2. 版本控制规则:svn版本控制库应设置合理的版本控制策略,如限制单个文件最大版本数、限制单个目录下最大版本数等,以确保版本库的稳定性和可管理性。
3. 访问权限规则:svn版本访问库应设置合理的访问权限,以确保只有授权用户能够访问和操作版本数据。
建议采用多级权限管理,根据不同角色分配不同的访问权限。
4. 代码提交规则:开发人员在提交代码时,应遵循一定的代码提交规范,如编写提交消息、规范代码格式等,以确保版本控制数据的清晰度和可读性。
5. 冲突解决规则:当出现代码冲突时,svn版本访问库应提供相应的解决机制,如合并、重做等操作,以确保冲突能够得到妥善解决,并保证代码的稳定性和可靠性。
6. 安全防护规则:svn版本访问库应采取必要的安全防护措施,如加密传输、限制访问频率、定期备份等,以确保数据的安全性和可靠性。
三、示例以下是一个svn版本访问库规则的示例:1. 版本命名规则:v1.0、v1.1、v2.0等。
2. 版本控制策略:单个文件最大版本数为5个,单个目录下最大版本数为10个。
3. 访问权限规则:只有具有开发人员角色的用户才能访问版本库,并只能查看和操作自己的代码版本。
4. 代码提交规范:提交消息应包含修改内容和修改原因,格式为“修改内容: 修改原因”。
5. 冲突解决机制:当出现代码冲突时,开发人员应使用svn提供的合并工具进行解决,并确保冲突解决后的代码能够通过测试。
6. 安全防护措施:所有提交的数据都经过加密传输,每天进行一次数据备份。
SVN版本库备份和恢复
SVN版本库备份和恢复1.版本库备份1.1.svnadmin dump⽅式备份此⽅法借助的是Subversion官⽹推荐的svnadmin dump备份⽅式,它的优点是⽐较灵活,既可以进⾏全量备份⼜可以进⾏增量备份,并提供了版本恢复机制。
缺点是如果版本过⼤,如版本数增加到数万、数⼗万条时,则dump的过程很慢,备份时耗时,恢复备份库时更耗时,不利于快速进⾏灾难恢复,此⽅法建议在版本库较⼩的情况下采⽤。
a) 全量备份:命令格式为:svnadmin dump 版本库路径及名称 -r 导出的版本号 > 备份版本库存放路径及名称(-r是revision的缩写,也可以--revision代替)或 svnadmin dump 版本库路径及名称> 备份版本库存放路径及名称(不添加版本号时默认备份最⾼版本号)例如:1. 对project版本库的前10个版本进⾏备份,将备份⽂件保存到H盘的svn_back/dump⽂件夹中,进⼊cmd命令⾏,输⼊以下命令:svnadmin dump E:\Repository\project -r 10 > H:\svn_backup\dump\project.dump点击回车后,如图所⽰,已经将project版本库中的前10个版本进⾏备份。
2. 对project版本库的所有版本进⾏备份,将备份⽂件保存到H盘的svn_backup⽂件夹中,进⼊cmd命令⾏,输⼊以下命令:svnadmin dump F:\Repository\project>H:\svn_backup\project.dump点击回车后,如下图所⽰,已经将project版本库中的12个版本全部备份。
b)增量备份:增量备份主要使⽤svnadmin dump的 --incremental选项来实现,在对版本进⾏管理时,采⽤增量备份的⽅法,只需要对版本库从上次备份后的版本号开始进⾏备份即可,节省了对版本库备份时的时间及存放版本的硬盘资源。
SVN命令使用手册
M:修改A:添加D:删除SVN命令使用一、常用命令1.Svnadmin create创建库svnadmin create path在windows版本上:D:\>svnadmin create test2D:\>通过dir来列出目录中文件,已经包含test2,如图1所示:图1说明此时已经成功建立2.Svn import导入项目svn import project_path svn_lib_path -m “comment”举例:假设有一个工程名称unismg,代码的文件目录是unicom;A、我们在D盘新建目录unismg,在此目录下新建三个文件目录,如图2所示:图2trunk中存放的是项目主线;branches中存放源码分支;tags存放在开发过程中做的标签。
B、我们将代码unicom放到d:\unismg\trunk\中C、执行命令D:\>svn import d:\unismg file:///d:/test2/unismg -m "initial import unismg" 结果如图3所示:SVN为培训Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/getAdding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_pending.c Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_mtsr.c Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mtrunk/mcpp64/mcpp/src/modules/get/mp_get_mo.c……Adding /export/home/mcpp20/niuj/proj/mcpp1.5/mbranchesAdding /export/home/mcpp20/niuj/proj/mcpp1.5/mtagsCommitted revision 38.3.Svn co: 将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co举例:svn co svn://192.168.30.251:3482/trunk/unicom下面信息就是从库中下载的代码信息。
svnsync两个svn库之间的同步
svnsync两个svn库之间的同步展开全文试验下来,SVNSync除了目标库为只读之外,其它功能都很强大,实现也相对简单。
/svnsy/20090624/6785.html如用svnsync 同步备份linux 下svn版本库到Windows要同步的项目名称:MUsvn版本库1。
4以上源目录:svn://192.168.1.196/mu目标目录:svn://192.168.1.205/mu方法:1.如果目标目录存在相同的项目,请先清除,重新建立空项目svnadmin create mu2.在mu目录下hooks目录下,建立pre_revprop-change.bat 全部内容只有一行:exit 0如果用拷贝同目录下的pre_revprop-change.tmpl 则必须删除最后三行的内容或替换为只有一行:exit 0不然下面初始化同步的时候,将停顿3. 执行初始化svnsync init svn://192.168.1.205/mu svn://192.168.1.196/mu 即svnsync init 目标库源库将向你询问登录目标库和源库的用户名和密码,建议为两个库设置相同的用户名及相同的密码正确后,显示Copied properties for revision 0.4.执行同步svnsync sync svn://192.168.1.205/mu即svnsync sync 目标库正确执行后,显示Committed revision 1.Copied properties for revision 1.Committed revision 2.Copied properties for revision 2.Committed revision 3.Copied properties for revision 3.Committed revision 4.Copied properties for revision 4.Committed revision 5.Copied properties for revision 5.Committed revision 6.Copied properties for revision 6.Committed revision 7.Copied properties for revision 7.Committed revision 8....5.更新同步在源库的hooks下面,添加post-commit 脚本可拷贝post-commit.tmpl即cp post-commit.tmpl post-commit然后把 post-commit 中,最后两行替换为svnsync sync --non-interactive svn://192.168.1.205/mu --sync-username user --sync-password user即提交更新后,即执行同步命令,不进行交互把post-commit 设为755权限。
VisualSVN-Server-2.1.1备份手册V1.1
VisualSVN-Server-2.1.1备份手册版本修订历史记录:目录1.同步备份所需要的命令 (4)1.1.svnsync init (4)1.2.svnsync sync (4)2.具体同步过程 (4)2.1.目标 (4)2.2.过程 (4)3.可能遇到的问题与解决方法 (7)1.同步备份所需要的命令1.1.svnsync init功能:初始化,建立目标库和源库之间的同步关系命令格式:svnsync init 目标库URL 源库URL1.2.svnsync sync功能:同步命令格式:svnsync sync 目标库URL2.具体同步过程2.1.目标实现目标是版本库的远程备份,将版本库svnproject备份到另一台机器上。
假设我们要同步的源版本库地址为http://192.168.1.210/svn/svnproject,位于机器A,具体路径我们不必理会,因为我们使用http协议。
目标库在机器B,地址为file:///F:/Repositories/svnproject2.2.过程1)在机器B使用VisualSVN新建资源库svnproject,假设其资源库物理位置为F:\svn\svnproject。
2)在机器B的F:\svn\svnproject\hooks目录下创建pre-revprop-change.bat文件,如下图所示:3)在机器B复制hooks目录下的pre-revprop-change.tmpl文件的所有内容到pre-revprop-change.bat文件,复制内容的末尾字段如下:原脚本的意思是如果修改的是svn:log属性,将允许修改,返回0;否则,不允许,返回1,我们要将它改为允许修改所有的属性,在脚本中直接返回0,将脚本最后一行修改如下:exit 0。
4)在机器B上打开cmd,输入命令:svnsync init file:///F:/Repositories/svnproject http://192.168.1.210:8081/svn/svnproject会提示输入用户名和密码,这里提供的用户名和密码是可以完全读取计算机A的用户名和密码。
利用svn对软件项目进行版本控制管理
利用SV N对软件项目进行版本控制管理闫晗(天津港信息技术发展有限公司,天津市300000)应用科技日商要]在中小规模软件项目的开发过程中.通常由多人分工、共同完成,这就涉及到大量的源代码和文档口瞅在沟通充分情况下。
多人维护同一份源代码也会出现混乱情况,如何对这些源代码和文档进行有效版本管理,弗硅行最终整合,是软件项目能否成功的关键之一。
日期】版拳控制:SV N V i sual S V N;Ser ve r;Tor t oi s eSV N在中小规模软件项目的开发过程中,通常由多人分工、共同完成,这就涉及到大量的源代码和文档。
即使在沟通充分的情况下,多人维护同一份源代码也会出现混乱的情况,如何对这些源代码和文档进行有效的版本管理,并进行最终整合.是软件项目能否成功的关键之一I本文简要介绍一套W i ndow s操作系统下利用免费、开源软件构建的高效、可靠的SV N版本管理系统及其日常备份方法。
1SV N简介SV N(Su bvers i on)是一种版本管理系统,其前身是C V S(C on—c ur re nt V e rs i ons S yst e m),它是根据C V S的功能为基础来设计的,它除包括了CV S的大多数特点外,还有一些新的功能:文件目录可以方便的改名、基于数据库的版本库、操作速度提升、权限管理更完善等。
SV N通过对不同项目建立各自独立的版本库进行管理,每个版本库很像一个基于数据库的文件服务器,可以记录每一次文件和目录的修改内容,这使得用户可以取得文件以前的版本,检查所做的任何更改。
SV N采用H丌P方式访问版本库,从而使用户可以在不同的电脑上获得(C heckO ut)项目文件,经修改后再提交(I m por t)到S V N服务器。
另外,S V N允许多个用户对同一份文件进行修改,当提交(1m—por t)到SV N服务器时会自动对该文件的不同用户版本进行融合(M e rge)。
SVN使用指南
目录1.概述 (1)1.1版本说明 (1)1.2系统软硬件配置要求说明 (1)2.安装 (1)2.1安装服务器安装 (1)2.2安装客户端 (2)2.3安装中文补丁包 (4)3.配置客户端 (5)3.1连接服务器 (5)3.2配置自动加锁 (7)3.3手动加锁 (9)4.常用操作 (13)4.1获取锁定 (13)4.2提交 (15)4.3还原 (16)4.4解除锁定 (17)4.5更新 (18)4.6添加 (18)4.7删除 (19)4.8更新至版本 (20)4.9新旧版本比较 (21)4.10检查更新 (23)5.注意事项 (24)6.在Eclipse中使用Subversion (25)6.1安装Subclipse (25)6.2配置Subclipse (29)6.3导入工程项目 (30)6.4常用操作 (34)6.4.1添加操作 (34)6.4.2提交操作 (34)6.4.3锁定操作 (36)6.4.4更新操作 (37)6.4.5版本操作 (37)6.5卸载Subclipse (39)1. 概述1.1 版本说明SVN安装版本:服务器:VisualSVN-Server-1.0.1.msi客户端:TortoiseSVN-1.4.7.11792-win32-svn-1.4.6.msi+LanguagePack-1.4.7.11792-win32-zh_CN.exe(中文补丁包)eclipse:eclipse3.3eclipse插件:site-1.6.zip1.2 系统软硬件配置要求说明SVN对硬件没有特别要求,对操作系统要求如下:(1) 客户端:Windows 2000+ WindowsInstaller-KB893803-v2-x86.exeWindows xp+WindowsInstaller-KB893803-v2-x86.exeWindows xp+sp2(写本手册时的系统配置)Windows 2003(2) SVN服务器:Windows xp+sp2(写本手册时的系统配置)Windows 20032. 安装注:没有特别说明的,按默认安装即可,安装完后重启一次计算机即可。
svn版本号设置规则
svn版本号设置规则1. 什么是svn版本号2. svn版本号的格式### 2.1 主版本号### 2.2 次版本号### 2.3 修订号### 2.4 编译号3. svn版本号的设置规则### 3.1 增加主版本号1. 标识大的项目重构或重建2. 表示项目的重大里程碑### 3.2 增加次版本号1. 表示添加了新的功能2. 表示对现有功能的较大改进### 3.3 增加修订号1. 表示对现有功能的一些小改动2. 表示错误修复### 3.4 增加编译号1. 标识重新编译生成的版本2. 表示内部版本的修复或改进4. svn版本号的使用场景5. svn版本号的注意事项### 5.1 遵循版本号规则### 5.2 版本号的命名清晰明了### 5.3 版本号的记录和管理### 5.4 版本号的发布和回滚6. 总结1. 什么是svn版本号在软件开发过程中,版本号是用于标识软件、代码或文档的不同版本的一种标识。
版本号的设置有助于团队成员之间的沟通和协作,能够清晰地追踪和管理软件的变更。
svn(Subversion)是一种开源的版本控制系统,用于管理文件和目录的变更历史,并协助多人开发项目的版本控制。
svn版本号就是svn系统为每次提交的变更记录所分配的唯一标识符。
2. svn版本号的格式svn版本号由四个部分组成:主版本号、次版本号、修订号和编译号。
每个部分是一个非负整数,通过”.”分隔。
2.1 主版本号主版本号用于表示软件或项目的重大版本变化,一般在项目的重构或重建时增加主版本号。
主版本号的变更表明发生了不兼容的API修改或重大的功能更新。
2.2 次版本号次版本号用于表示软件或项目的功能增加或相对较大的功能改进。
当向软件中添加新的功能或对现有功能进行较大改进时,次版本号应该被增加。
2.3 修订号修订号用于表示对现有功能进行小改动或错误修复。
每次修订号的增加都应该对应着用户能够感知到的一些变化。
修订号的变更不应该引入新的功能或破坏现有的功能。
SVN对比版本差异导出差异点
选择导出后,输 入自己要导出的 目标路径存放导 出的差异文件就 可以了
单击显示日志调出日 志窗口
右键单击要操作 的目录调出svn 菜单
默认日志只显示 最近10个版本的
我们可以点击 全部显示调取 出所有日志版 本
按住Ctrl键 选择需要 对比差异 的两个版 本
点击完全部显 示后这里可以 看到总的版本 统计信息
选择版本后右Biblioteka 调出 菜单,单击比较版本 差异这个选项
比对完成后选择要导出的 差异文件,右键调出菜单, 并且单击导出选择项
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SVN一个目录下的两个版本库
SVN一个目录下两个版本库
版本:1.0
发布日期:2011-1-27
实施日期:2011-1-27
修订记录
目录
修订记录 (2)
1.一个目录下的两个版本库 (4)
1.1.配置环境是Apache+svn (4)
1.2.解决方法 (4)
1.一个目录下的两个版本库
1.1.配置环境是Apache+svn
版本库都放在一个目录下面,目录名是svn,配置环境是Apache+svn
目前在svn下面创建了两个版本库,arm和arm2,可现在只有一个库可以运行,即arm版本库,在Apache安装目录下面的httpd.conf文件中,配置如下:
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath "D:/svn"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "D:/svn/arm/conf/passwd"
AuthzSVNAccessFile "D:/svn/arm/conf/authz.conf"
Require valid-user
</Location>
请问如果要让两个库一起使用,可以实现吗,那么用户权限和目录权限要分开设置。
1.2.解决方法
我的多库模式是SVNPath方式的,参考:
修改http.conf文件,改为:
<Location /arm>
DAV svn
#SVNListParentPath on
SVNPath "D:/svn/arm"
AuthType Basic
AuthName "ARM Subversion repositories"
AuthUserFile "D:/svn/arm/conf/passwd"
AuthzSVNAccessFile "D:/svn/arm/conf/authz.conf"
Require valid-user
</Location>
<Location /arm2>
DAV svn
#SVNListParentPath on
SVNPath "D:/svn/arm2"
AuthType Basic
AuthName "ARM2 Subversion repositories"
AuthUserFile "D:/svn/arm2/conf/passwd"
AuthzSVNAccessFile "D:/svn/arm2/conf/authz.conf"
Require valid-user
</Location>
登陆时要分别输入地址登陆: http://ip/arm
http://ip/arm2
注意:如果你要一个地址可以浏览多个库,那我的方式就不一定可以了。