仓库源文站点原文


layout: post title: "SVN - case 1笔记" date: 2021-8-16 00:15:39 +0800

categories: [Work]

此文档是我在学习svn项目第一个case时所做的笔记。

我司在svn上的项目,通常包含三种版本,branch, release和trunk。

branch里面包含的是当前项目目前正在开发中的各个branch。release里面包含的是当前项目的各个正式版本。

1. 创建branch

通常我们对项目进行修改时,都是需要先从trunk把原代码复制到自己新建的branch。
命令行为: svn cp [trunk] [branch] -m 'message'
[trunk]为trunk的url
[branch]为自己要创建的branch的url,通常为"moat-xxxxxx-\<description>",xxxxxx为当前case id
'message'通常为"MOAT-xxxxxx Create branch"

2. 本地branch修改完成后的检查

当branch上的修改完成后,我们可以用svn命令来进行检查。
使用svn st来查看有哪些文件被改动了。
使用svn diff来查看具体改动的内容。

3. 从本地branch上传到云端服务器

使用svn ci -m "message"来把改动上传。
message格式为“MOAT-xxxxxx: \<description>”

4. 下载trunk代码到本地

使用svn co [trunk]将trunk代码下载到本地。

5. 将branch merge到trunk

先进入到trunk文件夹内。
然后分别使用

svnmerge init [branch]  
svn ci -F svnmerge-commit-message.txt
svnmerge avail -l -S [branch]
svnmerge merge -r[xxx] -S [branch] //此处可为-r[xxx],[xxx],[xxx]或者-r[xxx]:[xxx]
svn diff
svn ci -F svnmerge-commit-message.txt

6. 下载release代码到本地

使用svn co [release]将release代码下载到本地。

7. 将trunk merge到release

先进入到release文件夹内。
然后分别使用

svnmerge avail -l
svnmerge merge -r[xxx] -S [trunk] //此处可为-r[xxx],[xxx],[xxx]或者-r[xxx]:[xxx]
svn diff
svn ci -F svnmerge-commit-message.txt

8. 删除之前所创建的branch

使用svn rm [branch] -m "message"来删除之前创建的branch。
message的内容通常为Remove branch