zoukankan      html  css  js  c++  java
  • 基于SVN的版本范围汇总

    这里的总结适用于线上已运营的产品,在研的游戏项目目前尚未实践过。


    一次版本更新主要分为:客户端 + 服务端

    客户端:界面(prefab/xml)、代码(lua)、数据配置表(json/lua)、美术资源(3D模型、动作、特效等)

    服务端:代码、数据修改对应的SQL语句


    Excel的同步我们单独开发一个类似 Beyond Compare 的对比同步工具,解决Windows系统下无法同时打开两个同名文件的问题。


    开发规范就是,所有SVN的提交都需要关联 任务id 或 bugId。这样我们有二种方法去抓取更新范围:

    (1)从SVN的日志里拉取;

    (2)从项目管理系统里拉取;


    从SVN日志拉取很简单,就是利用命令

    ${svn_path} log ${svn_url} --verbose --revision ${svn_start_version}:HEAD --username xxx --password xxx > ${svn_log_file_name}

    然后解析 svn_log_file_name(假设是 svn_log.txt),然后根据 taskId 或 bugId 提交信息进行分组,然后将数据渲染出来,得到如下所示的图

    image


    从项目管理系统里拉也很简单:【任务类型=服务端开发】&【任务状态=已完成】&【项目版本=xxxx】,根据任务id对SVN进行分组。


    这样做的目的是为了以后单独提测某个功能时,有完整的svn记录,通过记录自动将代码合并过去然后提交质检进行验收,或者进入【日稳定包】


    列表还有一个目的,就是项目可以自定义关注文件列表,比如充值、登录、网络等相关的文件,当某个任务id的提交记录里包括该文件,则对该行记录标粗同时该任务header带上*,表示项目主程、质检、技术经理需要注意了,这个任务关联了通用/关键模块的更新。


    列表链接点击后,可以呼起svn版本对比工具,浏览线上版本与即将对外更新版本内容的差异。

    tsvncmd:command:showcompare?url1:http://192.168.0.xx/test.java?url2:http://192.168.0.xx/test.java?revision1:线上svn的版本号?revision2:HEAD


    *注意事项:所有的项目相关的开发人员,每次SVN提交都需要绑定【所属版本 + 任务单号/bugId】


    参考链接:

    - https://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-automation-urlhandler.html

    - https://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-cli-main.html#tsvn-cli-showlog

  • 相关阅读:
    原生js大总结十一
    jQuery快速入门知识重点
    原生js大总结九
    原生js大总结十
    原生js大总结八
    原生js大总结六
    原生js大总结七
    原生js大总结四
    原生js大总结五
    移动端适配
  • 原文地址:https://www.cnblogs.com/meteoric_cry/p/15794970.html
Copyright © 2011-2022 走看看