zoukankan      html  css  js  c++  java
  • SVN常用功能

    很多时候, 在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到已经建好的新的分支地址即可. 这样减少大量的配置工作.

  • 相关阅读:
    ES6标准入门 第一章:简介
    vue调试工具之 vue-devtools的安装
    vue 高德地图之玩转周边
    vue-动手做个选择城市
    js 高级算法
    (转)预处器的对比——Sass、LESS和Stylus
    windows下安装mongodb以及node.js连接mongodb
    vue组件(将页面公用的头部组件化)
    浅谈移动端rem的用法
    vue 调用高德地图
  • 原文地址:https://www.cnblogs.com/highriver/p/2075572.html
Copyright © 2011-2022 走看看