博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SVN常用功能
阅读量:4599 次
发布时间:2019-06-09

本文共 3599 字,大约阅读时间需要 11 分钟。

很多时候, 在linux环境下使用svn命令:

通常在上线之后,需要提交的代码都是通过补丁,然后使用SVN来提交。SVN常用命令:

svn revert file/path
svn diff  当打了补丁之后,可以使用该命令查看是否打上。
svn commit -m filename --username user  打了补丁之后,在执行之前要确认是否有新增的文件。
svn add new file 新文件,首先需要add. 然后才commit.   很多时候打patch提交会生成一些新的文件,上次报错就是因为没有打上svn add。
不常用命令:
svn update
svn help
svn login username 注意,daodao不仅要求登陆的时候使用username, 还需要在commit的时候指定--username。如果commit不指定username,默认是webadmin或root. 这是完全禁止的。

-------------------------------------------------------------------------------------------

 

一.tag,branch在项目中的使用

一般项目下面包含了trunk,tag,branch三个目录.

tag与branch的关系是tag的代码与branch同步,但是tag里面的代码不检出开发. 只有branch里面的代码检出开发.

一般的branch的开发流程:

1.将当前最新的branch version:6.0.0-patch2->copy to 6.0.0-patch3. 

2.在6.0.0-patch3基础上修改相应的代码.

3.修改完代码后,修改pom.xml,比如将之前version:6.0.0-patch2->6.0.0-patch3,相应的scm地址也要修改(虽然这些该分支暂时还没有上传,这些scm地址还不是有效,但是不影响)

<
project
xsi:schemaLocation
="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
>
<
modelVersion
>
4.0.0
</
modelVersion
>
<
name
>
bizAdmin
</
name
>
<
groupId
>
***
</
groupId
>
<
artifactId
>
***-admin
</
artifactId
>
<
version
>
6.0.0-patch3
</
version
>
<
packaging
>
war
</
packaging
>
<
parent
>
<
groupId
>
***
</
groupId
>
<
artifactId
>
bizpom
</
artifactId
>
<
version
>
5.0.0
</
version
>
</
parent
>
<
description
>
Customer Service System
</
description
>
<
url
>
http://admin.cpc.***.com
</
url
>
<
inceptionYear
>
2008
</
inceptionYear
>
<
scm
>
<
connection
>
scm:svn:http://*.*.*.*/svn/admincpc/branches/***-admin-6.0.0-patch3
</
connection
>
<
developerConnection
>
scm:svn:http:*.*.*.*/svn/admincpc/branches/***-admin-6.0.0-patch3
</
developerConnection
>
<
tag
>
HEAD
</
tag
>
<
url
>
scm:svn:http:*.*.*.*/svn/admincpc/branches/***-admin-6.0.0-patch3
</
url
>
</
scm
>
....
<!--
如果该次branch的修改还涉及到依赖的底层项目,dependency里面的version也需要相应的更新成指定的版本号
-->
<
dependency
>
<
groupId
>
****
</
groupId
>
<
artifactId
>
***-common
</
artifactId
>
<
version
>
6.0.0-patch3
</
version
>
<
exclusions
>
<
exclusion
>
<
groupId
>
org.apache.poi
</
groupId
>
<
artifactId
>
poi
</
artifactId
>
</
exclusion
>
<
exclusion
>
<
groupId
>
dom4j
</
groupId
>
<
artifactId
>
dom4j
</
artifactId
>
</
exclusion
>
<
exclusion
>
<
groupId
>
struts
</
groupId
>
<
artifactId
>
struts
</
artifactId
>
</
exclusion
>
<
exclusion
>
<
groupId
>
org.apache.xerces
</
groupId
>
<
artifactId
>
xerces
</
artifactId
>
</
exclusion
>
</
exclusions
>
</
dependency
>
...

4.将项目提交到当前的branch上

5.使用小乌龟repo browser查看项目地址, 比如http://192.168.41.8/svn/admincpc

在branches里面选择patch2右键copy to... 输入http://192.168.41.8/svn/admincpc/branches/****-admin-6.0.0-patch3,  svn会自动的建立相应的目录,并将patch2修改后的代码copy到里面. checkout path3的代码开发.开发完成后.

6.选择该branch 右键copy to... 输入http://192.168.41.8/svn/admincpc/tags/****-admin-6.0.0-patch3

这样就保证了tag里面的版本与branch里面的版本代码一致. OP只关心tag里面的版本. 会检查并部署.

7.修改trunk里面的代码(这个是当前项目的要求, 其实可以merge)

同时需要发送指定格式的邮件通知运维,

包括代码提交后的svn版本号. 代码的地址.

change**到文件系统. change**里面说明了详细的功能实现,负责人等.

------------------------------------------------------------------------------------------

如果要开发一个新的工程,可以先将仓库里的某个版本的项目导出到本地.按工程结构修改成自己需要的样子,然后重新定义工程名,scm地址,右键share project->svn->输入上传的路径, http://192.168.41.8/svn/autoaudit/trunk/(一般需要运维先建立相应的repository比如autoaudit).  注意,操作的结果还没有把本地的工程全部提交到svn服务器上,只是和SVN的地址建立了关联,工程里面产生了.svn目录. 将工程中除了.project, .settings, target, .classpath之外的文件全部添加并提交.

 

二. Relocate or Switch

修改了SVN服务器的地址之后, 针对已有的项目可以利用小乌龟的relocate重现定位即可.

在eclipse里面, 对于新打的分支,不需要将旧的分支删除, 再将新的checkout. 只需要在工程上右键 switch branch到已经建好的新的分支地址即可. 这样减少大量的配置工作.

转载于:https://www.cnblogs.com/highriver/archive/2011/06/08/2075572.html

你可能感兴趣的文章
IE10 招贤纳意问题整理文章-安装卸载、功能设置篇
查看>>
joomla处境堪忧
查看>>
Jquery-AJAX
查看>>
python 在windows环境下 压缩文件
查看>>
CSS 动画总结
查看>>
mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
查看>>
LeetCode55 Jump Game
查看>>
poj 3764 The xor-longest Path (01 Trie)
查看>>
预备作业01
查看>>
【Spark】Spark-Redis连接池
查看>>
【云计算】使用supervisor管理Docker多进程-ntpd+uwsgi+nginx示例最佳实践
查看>>
Ubuntu16.04下配置ssh免密登录
查看>>
实验二 2
查看>>
will-change属性
查看>>
android学习笔记54——ContentProvider
查看>>
Unity3d android开发之触摸操作识别-双击,滑动去噪处理
查看>>
Custom view * is not using the 2- or 3-argument View constructors; XML attributes will not work
查看>>
模型选择准则
查看>>
安卓动态增加按钮
查看>>
iOS7程序后台运行
查看>>